Notes
Engineering decisions, product experiments and lessons from building
Practical notes about software architecture, SaaS validation, AI-assisted development and open-source work.
This is not a traditional blog. There is no publishing schedule and no content marketing. A note appears when a decision is made, a system ships or something breaks in a way that is worth writing down.
All notes
Filter by category, or read everything in order, newest first.
How I Use AI Agents Without Giving Up Engineering Ownership
The AI coding failures that scare business owners are real: wiped production databases, wrong billing logic, confident hallucinations, demos that collapse under load. Here is how an engineer who keeps ownership prevents each one.
Building one library across PHP, JavaScript and Go
Traceloom exists in PHP, JavaScript and Go: three repositories, three version lines, one JSONL record format. The decision that made the port work is a hard line: the file on disk is the product, everything above it is a local dialect.
Why Weft is deliberately not a framework
Weft ships with a rejection list instead of a roadmap: no ORM, no DI container, no admin panel. What that decision buys a content-first site engine, and what it costs.
Why AlertLoop ships self-hosted first
The most sensitive stream a team has is its own incidents. Here is why the first AlertLoop release runs on the customer's own infrastructure, and why that is the right engineering call at this stage.
No notes in this category yet
This category exists because I expect to write in it. Nothing has been published under it so far, and I would rather show an empty list than pad it.
How this section works
Notes are where the build logs land as projects ship. I write when a decision is made or a system reaches production, not on a schedule, so gaps between notes are normal and expected. An RSS feed is planned but not published yet; until then the list above is the whole archive.
Working on something these notes touch?
If you are making the same decision (self-hosted versus cloud, repair versus rewrite, how far to trust an AI-generated codebase), send me the situation. I'll tell you what I would do and why.