Next.js Portfolio & Blog Platform
What it is
An open-source, self-hostable portfolio and blog platform with an admin CMS, 218 themes, Better Auth, PostgreSQL via Prisma 7, S3 image uploads and optional AI writing helpers. Built on Next.js 16 and React 19.
This is a full-stack portfolio and blog you can run as your own site. It pairs a VS Code-inspired public layout with an admin dashboard, so projects, posts and site settings are edited in the browser instead of in code. It is MIT licensed and has a live demo.
The problem
Most developer portfolio templates are static: every new project or post means editing files and redeploying, and SEO, auth and image handling are left to you. I wanted a portfolio that behaves like a small CMS while staying a normal Next.js app you fully own.
What it does
- 218 themes with light and dark variants, switched from the admin settings
- A public portfolio with hero, skills, projects, experience, testimonials, videos and blog sections
- A blog and project CMS with drafts, tags, categories, featured flags and SEO fields
- Admin sign-in with Better Auth (magic link and Google)
- Image uploads to S3, compressed in the browser before upload and served through
next/imageas AVIF and WebP - Optional OpenAI helpers for blog drafts and project SEO metadata
- Contact form email, YouTube channel videos, sitemap, robots, Open Graph and JSON-LD
- Security headers on every response: CSP, HSTS, frame, referrer and permissions policies
How it's built
- App: Next.js 16 App Router, React 19, TypeScript
- UI: Tailwind CSS 4, Radix UI, Framer Motion, GSAP
- Data: PostgreSQL, Prisma 7, Zod
- Auth: Better Auth
- Media: AWS S3, Sharp,
next/image - Optional: OpenAI, Nodemailer, YouTube
Setup needs Node.js 20.9+ and a PostgreSQL database. S3, SMTP and OpenAI are optional, and a CI workflow runs on every push.
Stack
Links
Gallery
End of the list
