Vibe/Builders

Three real projects, named only by what they are

The account list gets written either way.

Up front, or halfway through at the worst possible moment. These are the author's own projects, anonymised, with the numbers read out of the repositories rather than estimated.

Study 01 · A voice-first assistant for a single user

The spend cap that had to be a gate, not a dashboard

The number

$20/month, enforced before the call

Not a target. A refusal.

The problem
An assistant that calls a language model on every turn has no natural ceiling. The first design watched cost in a panel, which is a way of finding out you overspent rather than a way of not overspending.
What changed
Cost moved from something observed to something enforced. The budget is checked before the call is made, prompt caching was switched on from the first day rather than added as an optimisation, and the model key sits at the repository root where the agent reads it — never in the web app's environment, so it cannot reach a browser.
The result
The cap holds because refusing is the default path, not the exception. The same split later decided the whole architecture: personal data on a local database with no public network path, and a hosted database only for the public product that genuinely cannot have one.

Study 02 · A register of every site its author had built

Making the checklist a build failure instead of a document

The number

45 checks pass · 1 warning · 0 failures

The warning is a report-only CSP, and it says so on the site.

The problem
A written standard that nobody runs is a document. The forty-six rules existed as prose for weeks, and the sites built during those weeks satisfied roughly the ones their author happened to remember on the day.
What changed
Every mechanically checkable rule became a check that exits non-zero. Missing 404 page, duplicate meta description, a hue-named colour token, string-interpolated SQL, a secret in a client bundle — each one now stops the build rather than becoming a line in a to-do list.
The result
The register also records the projects that were abandoned, which is the part people skip. Four of the eight entries were never finished, and listing them is what makes the other four believable.

Study 03 · A farming advisory application

What it costs to work out the connections last

The number

289 files · 0 public deployments

Read from the repository, not rounded.

The problem
The build started with the interface and deferred every account decision. Hosting, database and deployment target were each settled at the moment they blocked something, which is the most expensive moment to settle anything.
What changed
Nothing, in time. This one is the counter-example rather than the recovery. Two documents describing hosting options were written, neither was chosen, and the work moved on to whatever was more interesting that day.
The result
Two hundred and eighty-nine files that run on one machine. The code is not the problem and never was — no decision was ever made about where it lives, so it lives nowhere. That is the exact failure this site exists to make visible on day one instead of month three.

Reviews

“I have started more projects than I have finished, and the place they die is always the same: the day I find out it needs a sending domain and a database I said it would not need. Writing that list first is the cheapest thing I have ever done for a build.”
Chigo Emeagha — who built this siteThe author’s own words, marked as such

There is one quote here because one person has used this. When somebody else has taken a manifest through a real build and is willing to be named, their words go here — attributed, or not at all. An invented testimonial would break the standard it was meant to satisfy.

Your build is the fourth one.