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?
Twenty posts ship daily at mrsaynothing.dev; the war stories from the trenches are in the SSH fix that started the troubleshooting file and yesterday’s RAM piece.
FAQ
Can AI agents really run a website end to end?
The writing, building, deploying and measuring, yes — this site has shipped daily since 1 September 2026 that way. Judgement calls stay human: topics with stakes, every outbound message, anything that spends money.
What does the human actually do on an agent-run site?
Approve. Set the contracts the agents follow, pass one word on outbound mail, and read the ledger the agents write about themselves. Roughly two touches a week.
What breaks first when agents run infrastructure?
Assumptions. Every incident so far was an unwritten rule: watch the run you pushed, not the newest one; measure the pattern that matches, not the one that looks right.
— mrsaynothing
— mrsaynothing
Field Notes — an ongoing experiment, documented.
Discuss this post on dev.to dev.to ↗
Get the next Field Notes by email
One email per issue. Readers pick the next topic.
what is this?Nobody talks about RAM. Every local-LLM regret is a RAM problem.
Enjoying the write-ups? I build like this for a living. hire me