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
portfolio.mp4
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
- 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
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
What if your portfolio + blog could work like your code?
- ✍️ Write your content in Markdown (
.mdx) - 📝 Commit to git
- 🚀 Push to deploy
- ✅ That's it!
| 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 |
git clone https://github.com/muzaffar640/commitpress.git
cd commitpress
npm installnpm run devOpen http://localhost:3000 to see your portfolio + blog.
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
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 maintaingit add .
git commit -m "Add: Updated portfolio and first blog post"
git push origin main🎉 Your portfolio + blog is now live!
This project includes Cursor AI rules that automatically format content into proper MDX structure.
- Open Cursor with this project
- Create a new
.mdxfile insrc/app/content/ - Paste your raw content (from any source)
- Ask Cursor AI to format it as a blog post
- Commit and publish
- ✅ 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
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 pushTraditional:
- 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
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
- 🌟 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
- 🎯 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
- ⚡ Static Generation - Blazing fast, SEO-friendly
- 🔍 SEO Optimized - Meta tags, OpenGraph, structured data
- ⚙️ TypeScript - Full type safety
- 🚀 Easy Deployment - Deploy anywhere static hosting works
- Push your code to GitHub
- Connect your repo to Vercel
- Deploy with zero configuration
npm run build
npm run export
# Upload the 'out' folder to your hostUpdate Your Information:
- Edit
src/components/Hero.tsxfor name, title, and bio - Modify
src/components/About.tsxfor your story - Update
src/components/ExperienceAndSkills.tsxfor work history - Change social links in
src/components/Footer.tsx
Styling:
- Edit
src/app/globals.cssfor global styles - Modify
tailwind.config.tsfor theme customization - All components use Tailwind CSS + Shadcn/ui
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
};- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If this project helped you, please give it a ⭐ and share it with others!
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