Hey. I finally did it.
The domain has been sitting there for a while. Long enough that every time I renewed it I told myself this year.
Here is what actually happened every time I tried.
Attempt 1: Django
Obviously. I have 7 years of Django experience. I scaffolded the models — Post, Tag, Category, Author — wrote the migrations, set up the admin panel. Clean. Proper. The right way.
I was designing the caching strategy before I had a single post to cache.
Attempt 2: FastAPI + React
Django felt heavy for a blog. I switched to FastAPI for the backend and React for the frontend. Modern. Decoupled. Scalable. I spent a full weekend on the authentication system.
For a blog. With one author. Me. Who was never going to log out.
Attempt 3: The Infrastructure Phase
I decided the problem wasn’t the stack — it was that I hadn’t containerized it properly. Docker Compose. Separate services for frontend, backend, and PostgreSQL. A Makefile. A CI/CD pipeline. Staging and production environments.
I added Prometheus metrics. To a blog. That had zero visitors. Because zero visitors is still a number worth monitoring apparently.
Zero posts written across all three attempts.
The problem is I build systems for a living. Fintech backends. Open Banking platforms. Things that genuinely need to be reliable, scalable, and observable. So when I sit down to build anything, my brain immediately asks: what’s the failure mode? how does this scale? what’s the rollback strategy?
For a blog. That three people will read.
Eventually I stopped thinking like an engineer and asked a simpler question: what is the smallest thing that actually ships?
Hugo. Markdown files. No database. No containers. No migrations. No auth system protecting content that was always going to be public. The whole site builds in under 100ms. It deploys to Cloudflare Pages — I push, it builds, it’s live in 20 seconds. If it goes down, it’s Cloudflare’s problem, not mine. That’s what I tell myself.
I’m a little embarrassed it took this long. But the site is live, which is more than Attempt 1, 2, or 3 ever managed.
What’s here
A bio, links, a CV page, a YouTube page, and a projects page. Five old posts migrated from LinkedIn, rewritten in English. And now this.
What’s still missing
- Syntax highlighting that actually looks good
- Open Graph tags so links aren’t ugly when shared
- More posts — turns out writing is the hard part, not the infrastructure
Alright, that’s enough for now.