A premium developer portfolio with a built-in admin panel — no database required.
Built with Next.js, TypeScript, Tailwind CSS, and Framer Motion.
- Public Portfolio — Home, Projects, Skills, About, Blog, Contact
- Admin Panel — Password-protected CMS with sidebar navigation
- GitHub Integration — Auto-fetches your public repos, sorted by stars
- Blog System — Create, edit, and delete posts with Markdown support
- Dark/Light Mode — System detection + toggle + localStorage persistence
- JSON Storage — All content stored in
/data/*.jsonfiles — no database needed - Framer Motion — Smooth animations throughout
- Mobile Responsive — Looks great on all devices
- Vercel Ready — Deploy with zero configuration
git clone https://github.com/YOUR_USERNAME/dev-portfolio-cms.git
cd dev-portfolio-cms
npm installcp .env.example .env.localEdit .env.local:
ADMIN_PASSWORD=your_password
GITHUB_USERNAME=your_github_usernameEdit the JSON files in /data/ to add your info:
| File | Content |
|---|---|
data/site.json |
Name, title, hero text, social links, featured projects |
data/about.json |
About page content and timeline |
data/skills.json |
Skills grouped by category with proficiency levels |
data/blog.json |
Blog posts (or manage via admin panel) |
Place your resume file at public/resume.pdf (or update the path in data/site.json).
npm run devOpen http://localhost:3000
Admin panel: http://localhost:3000/admin
- Push to GitHub
- Import project on vercel.com
- Add environment variables:
ADMIN_PASSWORD,GITHUB_USERNAME - Deploy — done!
app/ # Next.js App Router pages
admin/ # Admin panel (dashboard, content, skills, blog, projects, settings)
api/ # API routes (auth, data CRUD, GitHub proxy)
blog/[slug]/ # Dynamic blog post pages
projects/ # GitHub projects page
skills/ # Skills & technologies
about/ # About with timeline
contact/ # Contact & social links
special/ # 🤫 Hidden page
components/ # Reusable UI components
lib/ # Utilities (GitHub API, JSON DB, auth)
data/ # JSON content files (your data lives here)
- Framework: Next.js 16 (App Router)
- Language: TypeScript (strict)
- Styling: Tailwind CSS 4
- Animations: Framer Motion
- Icons: React Icons
- Markdown: React Markdown
- Deployment: Vercel Serverless
MIT — use it, fork it, make it yours.