Introducing naman.md
Every writing platform I've used has let me down. It pivoted, got acquired, or quietly rotted until the export button was the only feature I still cared about. So I wanted to answer one question: where does your writing live when the company hosting it goes away?
naman.md is my answer. Every post is a file in a git repo, nothing more. The look is deliberately technical: monospace labels and a strict grayscale palette.
None of this is finished, and that's the point. A blog you can't keep editing is just a database with better marketing.
Files over apps
A blog should outlive its stack. Every post is a single .md file with YAML
frontmatter, committed to git. Publishing is git push. No draft state that
isn't a branch, no edit history that isn't a commit log, no backup strategy
that isn't already solved by having the repo cloned in three places. No CMS,
no database, no admin panel. Just files that still open in a text editor in
twenty years.
The best storage format is the one you can
cat. Everything else is a migration waiting to happen.
What you give up:
- A WYSIWYG editor. You write wherever you already do.
- Scheduled publishing. You push when it's ready.
- Analytics dashboards baked into an admin panel.
What you get back:
- Portability. The content layer has zero dependencies on the rendering layer.
- Reviewability. A post can get a pull request, comments and all.
- Longevity. Markdown from 2004 still renders. Database dumps from 2004 mostly don't.
The trade is lopsided once you notice everything in the first list is a feature for the platform, and everything in the second is a feature for you.
The pipeline
The rendering side is small on purpose:
gray-mattersplits frontmatter from the bodyremarkparses markdown with GFM extensionsrehyperenders HTML, with Shiki highlighting code at build time- Next.js statically generates every page, so nothing parses markdown in the browser
Every route is static. Per-post Open Graph images, RSS, sitemap, robots, and JSON-LD all render at build time.
The artifact
Each post's hero is a raymarched liquid blob with a chromatic mirror finish,
drawn by a single WebGL fragment shader. It's also a small physical object:
hover dents it, scroll rolls it, click splits it. The canvas respects
prefers-reduced-motion.
What's next
This is where I write things down: technical learnings and the projects I'm building, but also travel and hiking stories from exploring different parts of the world. Subscribe via RSS, or don't. The files aren't going anywhere.

+ COMMENTS +
LOADING COMMENTS...