CMS

CMS

Personal Content Management System

04.05.2026

CMSWeb ApplicationDashboard
Next.js
Next.js
Supabase
Supabase
Vercel
Vercel
PostgreSQL
PostgreSQL
TypeScript
TypeScript
Tailwindcss
Tailwindcss
React
React
NodeJs
NodeJs

This CMS started as a side thought while I was building my personal website. I wanted a place to share my projects and write about things I was working on, but every tool I looked at either did too much or worked nothing like how I wanted to create content.

So I built my own.

The main thing I wanted was modularity. Content on this site is made up of blocks, a Hero, a Gallery, a RichText, a SplitView. Each block is its own component. Adding a new one means dropping in a new file and registering it. Nothing else changes. That made it easy to build up the system over time without breaking what was already there.

I kept the CMS local. It only runs on my machine and never gets deployed. That meant I did not have to think about authentication, protected routes, or someone stumbling across an admin URL and messing with my content. The simplest solution turned out to be the right one, if it never reaches the internet, there is nothing to protect.

Gallery image
Gallery image