Skip to content

This is a full-stack system where you can have a blog feature in your portfolio without needing a proper backend with a database.

License

Notifications You must be signed in to change notification settings

muzaffar640/commitpress

Repository files navigation

πŸš€ CommitPress

The complete portfolio + blog system. Beautiful portfolio UI with database-free blogging. Perfect for developers, designers, writers, and any professional. Now with AI-powered formatting.

πŸ”— View on GitHub β€’ πŸ“– Live Demo β€’ πŸš€ Deploy Now

Next.js TypeScript Tailwind CSS MDX AI-Powered

portfolio.mp4

🎯 What You Get

Complete Professional Portfolio + Blog System:

  • 🎨 Stunning Portfolio UI - Hero, About, Experience, Skills sections
  • πŸ“ Database-Free Blog - Write in Markdown, publish with Git
  • πŸ€– AI-Powered Content - Automatic formatting with Cursor
  • πŸ“± Fully Responsive - Perfect on all devices
  • ⚑ Lightning Fast - Static generation for optimal performance
  • πŸ” SEO Optimized - Built-in meta tags and social sharing

πŸ‘₯ Perfect For

  • Software Engineers - Showcase projects and share technical knowledge
  • Designers - Display portfolio work and design insights
  • Writers & Content Creators - Professional presence with easy blogging
  • Consultants & Freelancers - Establish credibility and thought leadership
  • Students & Job Seekers - Stand out with a professional online presence
  • Any Professional - Clean, modern portfolio with integrated blogging

πŸ€” The Problem

Traditional solutions are unnecessarily complex:

  • πŸ—„οΈ Database setup and management
  • πŸ” Admin panels and authentication
  • πŸ’° Database hosting costs
  • πŸ› Complex deployment pipelines
  • πŸ“ Separate portfolio and blog systems
  • 🎨 Limited design customization

✨ The Solution

What if your portfolio + blog could work like your code?

  1. ✍️ Write your content in Markdown (.mdx)
  2. πŸ“ Commit to git
  3. πŸš€ Push to deploy
  4. βœ… That's it!

🎯 Why This Approach Wins

Traditional Setup CommitPress
Portfolio + Blog + CMS Single Solution
Database + Admin Panel Just Git
Complex deployment Simple push
Hosting costs Static hosting
Data backups Git history
Limited customization Full control

πŸš€ Quick Start

1. Clone & Install

git clone https://github.com/muzaffar640/commitpress.git
cd commitpress
npm install

2. Run Development Server

npm run dev

Open http://localhost:3000 to see your portfolio + blog.

3. Customize Your Portfolio

Update the portfolio sections in the components:

  • Hero Section: src/components/Hero.tsx - Your name, title, and intro
  • About Section: src/components/About.tsx - Your story and background
  • Experience: src/components/ExperienceAndSkills.tsx - Work history and skills
  • Contact: Update social links and contact information

4. Write Your First Blog Post

Create a new file in src/app/content/my-first-post.mdx:

---
title: "My First CommitPress Post"
date: "2024-01-15"
author: "Your Name"
coverImage: "/images/my-cover.jpg"
tags: ["CommitPress", "portfolio", "professional"]
excerpt: "This is how easy it is to publish without a database!"
---

# Hello World!

This post lives in a `.mdx` file. When I commit and push this file,
it automatically becomes a live blog post. No database required!

## What I Love About CommitPress:

- βœ… Beautiful portfolio design
- βœ… Integrated blog functionality
- βœ… Syntax highlighting for code
- βœ… SEO optimization
- βœ… Professional appearance
- βœ… Easy to maintain

5. Publish Your Content

git add .
git commit -m "Add: Updated portfolio and first blog post"
git push origin main

πŸŽ‰ Your portfolio + blog is now live!

πŸ€– AI-Powered Writing with Cursor

This project includes Cursor AI rules that automatically format content into proper MDX structure.

Writing with AI Assistance

  1. Open Cursor with this project
  2. Create a new .mdx file in src/app/content/
  3. Paste your raw content (from any source)
  4. Ask Cursor AI to format it as a blog post
  5. Commit and publish

What the AI Rules Do

  • βœ… Auto-format raw text into proper MDX structure
  • βœ… Generate frontmatter with proper metadata
  • βœ… Add syntax highlighting for code blocks
  • βœ… Structure headings with semantic hierarchy
  • βœ… Optimize for SEO and accessibility
  • βœ… Maintain consistency across all posts

Content Migration Made Easy

Got content from Medium, LinkedIn articles, or anywhere else? Just paste it:

# 1. Create new post file
touch src/app/content/my-migrated-post.mdx

# 2. Open in Cursor and paste your content
# 3. Ask AI to format it as a blog post
# 4. Commit and publish
git add . && git commit -m "Add: Migrated post" && git push

AI Workflow Comparison

Traditional:

  • Use separate portfolio builder
  • Set up blog with database
  • Manually format content
  • Manage multiple platforms

AI-Powered CommitPress:

  • One beautiful system for everything
  • Paste raw content anywhere
  • AI formats everything automatically
  • Single Git workflow

πŸ“ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ content/          # πŸ“ Your blog posts (MDX files)
β”‚   β”‚   β”œβ”€β”€ my-post.mdx
β”‚   β”‚   └── another-post.mdx
β”‚   β”œβ”€β”€ blog/
β”‚   β”‚   β”œβ”€β”€ page.tsx      # πŸ“‹ Blog listing page
β”‚   β”‚   └── [slug]/       # πŸ“„ Individual post pages
β”‚   └── globals.css
β”œβ”€β”€ components/           # 🧩 Reusable components
β”‚   β”œβ”€β”€ Hero.tsx         # 🌟 Hero section
β”‚   β”œβ”€β”€ About.tsx        # πŸ‘€ About section
β”‚   β”œβ”€β”€ ExperienceAndSkills.tsx  # πŸ’Ό Experience & skills
β”‚   β”œβ”€β”€ Blog/            # πŸ“ Blog components
β”‚   └── ui/              # 🎨 UI components
β”œβ”€β”€ utils/
β”‚   └── mdx.ts           # πŸ”§ MDX processing logic
β”œβ”€β”€ types/               # πŸ“˜ TypeScript definitions
└── .cursor/rules/       # πŸ€– AI formatting rules

🎨 Features

Portfolio Features

  • 🌟 Professional Hero Section - Eye-catching introduction
  • πŸ‘€ About Section - Tell your story professionally
  • πŸ’Ό Experience Timeline - Showcase your work history
  • πŸ› οΈ Skills Display - Highlight your expertise
  • πŸ“± Responsive Design - Perfect on all devices
  • 🎨 Modern UI - Built with Tailwind CSS + Shadcn/ui

Blog Features

  • 🎯 Zero Database - Content stored as MDX files
  • πŸ€– AI-Powered Formatting - Automatic content formatting
  • πŸ“ MDX Support - Markdown + React components
  • 🏷️ Tag System - Organize posts with tags
  • πŸ“Š Reading Time - Auto-calculated estimates
  • 🎨 Syntax Highlighting - Beautiful code blocks

Technical Features

  • ⚑ Static Generation - Blazing fast, SEO-friendly
  • πŸ” SEO Optimized - Meta tags, OpenGraph, structured data
  • βš™οΈ TypeScript - Full type safety
  • πŸš€ Easy Deployment - Deploy anywhere static hosting works

πŸš€ Deployment

Deploy to Vercel (Recommended) for FREE

  1. Push your code to GitHub
  2. Connect your repo to Vercel
  3. Deploy with zero configuration

Deploy to Any Static Host

npm run build
npm run export
# Upload the 'out' folder to your host

πŸ› οΈ Customization

Portfolio Customization

Update Your Information:

  • Edit src/components/Hero.tsx for name, title, and bio
  • Modify src/components/About.tsx for your story
  • Update src/components/ExperienceAndSkills.tsx for work history
  • Change social links in src/components/Footer.tsx

Styling:

  • Edit src/app/globals.css for global styles
  • Modify tailwind.config.ts for theme customization
  • All components use Tailwind CSS + Shadcn/ui

Adding Blog Components

Edit src/components/MDX/MDXComponents.tsx to add custom components:

export const MDXComponents = {
  // Custom components available in all MDX files
  YouTubeEmbed: ({ videoId }: { videoId: string }) => (
    <iframe
      src={`https://youtube.com/embed/${videoId}`}
      className="w-full aspect-video rounded-lg"
    />
  ),
  // ... other components
};

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Show Your Support

If this project helped you, please give it a ⭐ and share it with others!

πŸ€” FAQ

Q: Is this just for developers? A: No! It's perfect for any professional - designers, writers, consultants, freelancers, students, or anyone who needs a professional online presence.

Q: How do I customize the portfolio sections? A: Edit the component files in src/components/ - Hero.tsx, About.tsx, ExperienceAndSkills.tsx, etc.

Q: How do the AI rules work? A: Install Cursor, open the project, paste any content, and ask AI to "format this as a blog post."

Q: Can I migrate content from other platforms? A: Yes! Copy content from Medium, LinkedIn, Dev.to, WordPress, or Google Docs. The AI will format it properly.

Q: How do I handle images? A: Store images in the public

About

This is a full-stack system where you can have a blog feature in your portfolio without needing a proper backend with a database.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published