Project
Personal portfolio & CMS
- Category
- Web
- Updated
- April 2026
2 images · use arrows to browse
Full-stack portfolio site I built and maintain: public case-study style project pages, themed UI, and a protected dashboard to manage profile, projects, experience, and content without redeploying.
This project is the site you are looking at. It combines a marketing-style landing page with dynamic project detail routes and a CMS-style dashboard for all portfolio data.
The public app is built with Next.js (App Router), React, and TypeScript, with Tailwind CSS for layout and theming. Content is stored in PostgreSQL and accessed through Prisma. Authentication for the dashboard uses Next.js conventions compatible with NextAuth.
The CMS layer includes validated API routes, dashboard CRUD for projects (including multiple image URLs per project), and revalidation so public pages stay fresh after edits. The stack also integrates tooling suited for deployment on Vercel with a managed Postgres-compatible database.
I use this codebase as both my live portfolio and a reference implementation for structured content, type-safe APIs, and a clean split between public and authenticated surfaces.