Originally published at mrsaynothing.dev.
This site has published every single day for nineteen days, deployed itself, translated itself into eighteen languages, and measured its own traffic. I wrote none of the posts. I approved the pipeline once, and I read the ledger. That is the whole job now — and the interesting part is not that it works. It is precisely where it breaks.
The machine doesn't need me to be impressive. It needs me to be reachable.
The crew
Nothing exotic runs this site. No fine-tuning, no vector database, no multi-agent theatre. Three scheduled jobs on one desktop box:
- The daily writer — mines autocomplete for real query language, checks it against a ledger of what already worked, writes to a strict contract (frontmatter schema, word counts, code that actually runs), then deploys.
- The ops layer — GitOps pull-deploys through CI and a registry, an IndexNow ping per post, cross-posting, and a translation pass across 18 locales.
- The watchers — job boards and founder forums, matched against a profile, piped to a phone within hours of a posting going up.
Cron plus written contracts. The contracts are the product; the model is a haircut you renew monthly.
Receipts, not vibes
Analytics went live on 17 September, so these are the first real numbers — verbatim from Rybbit, our self-hosted tracker:
$ jrybbit overview --days 7
metric value
-------------- -----
visitors 146
sessions 188
pageviews 288
bounce_rate 79.8%
visit_duration 2m15s
Nineteen posts in nineteen days since the first one on running local models, zero missed slots, zero rollbacks. Google Search Console still holds 25 pages in "Discovered – currently not indexed" — the normal queue for a young domain, and a useful humility receipt: agents control the shipping, not the ranking.
And the feedback loop compounds. Yesterday's piece on RAM — the first non-tutorial on the site — did 69 views in 24 hours against a trailing median of 13 for tutorials. The ledger caught it, and the ledger decides what gets written next. No committee required.
The honest ledger: what actually broke
Four failures in nineteen days, all of them mine — none of them the model's:
- Watched the wrong deploy. On day eleven an agent watched the newest CI run instead of the one it had just pushed, celebrated a green check from a stranger's commit, and shipped nothing. The fix is embarrassingly boring: select runs by the commit SHA you pushed. Write the rule down or re-learn it monthly.
-
A goal that counted zero. The blog-read conversion tracked
**/blog/*— one star, one path segment — so every nested post path silently missed. Backfilling after the fix surfaced 94 real conversions that had been happening unmeasured. The site worked; the scoreboard lied. - The build that ate its own images. The static build script cleared the images directory on every run, so the first two post banners 404'd in production while looking perfect locally. Deleted the deletion, kept the assets per-locale.
- Translation drift as policy risk. Eighteen locales multiplied any laziness by eighteen, so the rule became mechanical: whatever ships in English ships in all locales the same run, and a linter makes the gap unshippable rather than advisory.
An agent stack is a contract with a compiler. Every rule you leave unwritten is a future incident, and the incidents arrive on schedule.
Notice what all four have in common: the model did exactly what it was told. Every failure was a specification error by a human who was sure he'd been clear enough.
The part nobody advertises
Draft-by-default is the load-bearing wall. Every outbound email, comment and campaign renders as a draft until a human passes one word. Zero embarrassing sends in nineteen days — not because the model writes carefully, but because the pipeline doesn't care how confident it sounds. Confidence without a send button is just prose.
The second unadvertised part: agents are better at following laws than people are. "Render everything, animate opacity only" ended a layout-shift problem that months of tweaking never did — because the agent treats a law as a law, not as a suggestion to revisit under deadline.
Your turn — and the next dispatch
Series question first, since this is #1: what should the next Field Notes cover? Candidates on the bench: the translation pipeline as a trust problem, what the analytics actually changed about topic choice, or the job watcher stack. Say the word and #2 writes itself — literally.
And the broader one: if a machine shipped your work daily and the ledger says it's outperforming your median, what exactly would you still be for?
This ships daily at mrsaynothing.dev — the full archive, every piece in 19 languages, zero missed days. New posts land in the newsletter the moment they ship: join it here. Code at GitHub.
Top comments (1)
The four failures section is the most valuable part of this post. "Every failure was a specification error by a human who was sure he'd been clear enough" — the model did exactly what it was told in every case. The CI-run-watching bug (watching the wrong run instead of the one it just pushed), the wildcard goal that counted zero, the build clearing its own images — all specification errors, not model errors.
The translation drift framing is subtle: "whatever ships in English ships in all locales the same run, and a linter makes the gap unshippable rather than advisory." That shift from advisory to enforcement is the right architecture decision. Advisory rules get violated under time pressure; compiler-level rules don't.
Draft-by-default as the load-bearing wall is underrated advice. Not trusting the model's confidence about when to send is exactly the right failure-mode prevention for outbound actions. "Confidence without a send button is just prose" should be on the architecture decision card for any agentic pipeline that touches external state.
The RAM post doing 69 views against a 13-view trailing median for tutorials is the kind of feedback loop that validates the ledger-drives-content approach. For the next dispatch, the translation pipeline as a trust problem seems like the most novel angle — the claim that 18 locales multiply any laziness by 18 suggests there's a richer story there.