Apr 26, 2026 • 1 min read
Rebuilding tengkusyafiq.com — from Strapi to git-as-CMS
Why I tore out the CMS and replaced it with markdown files and a CDN.
Five years ago I built this site on Next.js + Strapi, hosted on a VPS. It was overkill.
For a personal blog with one author, a CMS is friction without payoff:
- A database I had to back up.
- An admin UI I logged into once a quarter.
- A VPS bill for traffic that fits in a Cloudflare free tier.
- A draft state I never used.
So I rebuilt it. The new site is a static Next.js export, deployed to Cloudflare Pages, with posts stored as .mdx files in this repo.
How posting works now
# write a post
$EDITOR content/blog/2026-04-26-something.mdx
# publish
git add content/blog/2026-04-26-something.mdx
git commit -m "post: something"
git pushThat's it. Cloudflare Pages picks up the push, builds, and the post is live in about a minute.
What I lost, what I gained
I lost: a CMS UI, scheduled publishing, a draft API, multi-author flows. None of which I was using.
I gained: zero hosting cost, version-controlled content, instant local preview, AI tools that can edit posts in my editor, and the satisfaction of deleting a Postgres database I no longer maintain.
The whole codebase fits in my head now.