Hello, world!

I'm not much of a writer. Never have been. But I read constantly; mostly blog posts that remind me of the old internet, back when the Small Web meant something. Sites had personality. Weird layouts, stranger content, actual human quirks instead of template #847 with stock photos of people pointing at laptops.

There's been a quiet resurgence lately. Real blogs showing up on Hacker News, actual humans writing about actual things they've built or broken or learned. Even Gemini (the protocol, not the chatbot) had its moment of weird, wonderful minimalism before fading back to obscurity. Each genuine post feels like a small victory against the algorithmic slurry that's consumed most of the web.

Since I don't naturally write, I never considered starting a blog. But if I were going to blog, obviously I'd build my own blogging tool first. That's always the most interesting part anyway.

This pattern repeats itself constantly in my projects. Want to brew better beer? Build a Zigbee-enabled fermentation controller instead of just buying a thermometer. Want to make games? Write your own game engine and design custom handheld hardware instead of using Unity like a normal person. The tool-building becomes the real hobby. The original goal just becomes an excuse.

So here we are with yet another blogging platform.

the tool

The requirements were simple: lightweight, custom, and AI-assisted editing because I genuinely need help stringing sentences together. The architecture ended up stupidly simple, which is exactly what I wanted.

The content lives in plain markdown files in a folder structure that matches the site URLs. No database migrations, no complex schemas, no vendor lock-in. Any text editor works. Any static site generator could import it tomorrow if I get bored with this approach.

A small SQLite database handles metadata; titles, dates, settings, that sort of housekeeping. I briefly considered embedding everything in markdown frontmatter, but decided that was complexity without benefit. The database stays small and the markdown stays readable.

Gemini_Generated_Image_jbkfgljbkfgljbkf.png

The interface is minimal by design. Write markdown on the left, see rendered output on the right. The AI integration hooks into Anthropic's API with configurable models and prompts. I can select different Claude variants depending on whether I'm editing technical content or just fixing my terrible grammar.

Screenshot 2026-04-01 151015.png

The AI prompt system lets me do targeted edits without losing my voice entirely. Instead of "make this better" (which usually makes everything worse), I can say "fix the grammar but keep the rambling tone" or "explain this technical concept more clearly." It's like having an editor who actually understands what I'm trying to say, even when I don't say it well.

The whole thing compiles to a static site that deploys anywhere. No server requirements, no moving parts to break. The editing happens locally, the output is hosted statically. Simple problems get simple solutions.

the writing process

Having AI assistance changes how I approach writing completely. Instead of staring at a blank page trying to craft perfect sentences, I dump thoughts into markdown and iterate. The AI helps structure ideas, untangle convoluted explanations, and catch the grammatical disasters that happen when I think faster than I type.

It's not ghostwriting ... exactly. The ideas, opinions, and terrible insights are still mine. The AI just helps me communicate them without sounding like I learned English from assembly language manuals.

food (in dutch)

I'm also planning to share some stupidly simple recipes here. I'm not much of a cook, but I can appreciate good cheap food. Don't judge my skills — they're written in Dutch because food feels location-bound. Ingredients available in Dutch supermarkets, measurements that make sense when you're shopping at Albert Heijn, that sort of thing.

If you're a student with equally questionable cooking skills, these might help. They're designed around three constraints: cheap, hard to screw up, and actually taste decent. Most use ingredients you can buy at any Dutch supermarket without hunting through specialty stores or spending your entire grocery budget on one meal.

next steps

This tool isn't finished. Neither am I. I'll keep tweaking it as long as it stays interesting, which historically means until I get distracted by some other project that needs its own custom toolchain.

I'm planning to write about some of my other projects too. The beer controller that taught me about Zigbee and the awful Espressif documentation, the game engine that crashes in fascinating new ways, the hardware designs that work great until you actually try to manufacture them.

The code is on my GitHub page if you're curious. But honestly, don't bother cloning it. Build your own instead. The constraints that made sense for my workflow probably don't match yours. AI makes custom tooling accessible enough that there's no good reason to settle for someone else's compromises.

Besides, building the tool is usually more fun than using it.

visitor@mees.space:~$