August 22, 2026 / 1 min read

This blog runs on Obsidian

A quick look at what I did inside my personal website, and how I made publishing direct and CMS-free through Obsidian.

nextjsmarkdownobsidiancms

Write once, publish everywhere

Every post on this site lives as a .md file in blog/. I write them in Obsidian, flip published to true when they're ready, and Next.js picks them up at build time.

No CMS. No database. No webhooks. Just markdown and git.

How does it work?

Everything happens through the magic of markdown, Docker builds, and the embedding process that runs each time I do a simple docker compose build inside this project's repo, my personal portfolio, which is public so anyone can look around and see how this was solved.

It does a git clone of the private repo of my Obsidian vault. That vault holds both English and Spanish posts, to give any reader more visibility. And the only thing that matters is the frontmatter, which tells the repo whether a blog post is publishable or not.

What are we doing here, in this blog post?

WRITE.

There's no more magic than that. Lately I've felt that everything runs fast — time, people, stress, project deadlines, and how everyone wants things done yesterday. It feels like we're all supposed to be prompt machines; entire companies need us to become readers of AI outputs and to make things happen fast.

The simple act of stopping to write is a way to counteract the brain rot built up from endless months of believing time is running out and that one more prompt will make my project take off.

So, in a few words, this serves to farm aura points. See you in the next post.