All projects
Full Stack Platform
Personal Portfolio CMS
This website: a Next.js portfolio with a completely custom-built CMS and a secure Express.js + PostgreSQL REST API.
A monorepo with three apps: the public portfolio, a custom CMS for managing every piece of content, and a REST API with role-based access control.
The challenge
I wanted full control over content, SEO and security without depending on a third-party CMS.
The solution
I designed a normalized PostgreSQL schema with Prisma, a TypeScript Express API with JWT sessions in HTTP-only cookies, CSRF protection, audit logs and S3 media storage, and a CMS with a TipTap editor, media library, drag-and-drop ordering and live previews.
Key features
- Custom CMS with rich-text editor and media library
- Draft, scheduled and published content with previews
- Role-based access control (Admin / Editor)
- CMS-driven SEO, Open Graph and Twitter metadata
- Light, dark and system themes
Results
- All content editable without code changes
- Fast, SEO-friendly public pages