What I automated
Twelve systems, each told from its own commit history: what it was for, where it started, what broke, and what it does tonight. 6439 commits since 7 Apr 2025, counted when this page was last built. The pictures are taken by a script and retaken when something changes.
emailmanager.aiAnswers customer support mail: the routine mail of property managers, tax advisors and brokers is drafted before they read it. Never sent on its own.1307 commits · since 7 Apr 2025
seitenhebel.deAudits a small business website in sixty seconds and rebuilds it: crawl, scoring, revenue estimate, the whole report.580 commits · since 25 Feb 2026
swiftrun.aiA self-hosted agent platform: automations run here as scheduled pipelines with connectors, a login and a report at the end.558 commits · since 19 Jan 2026
realquantum.aiMy other log, about quantum computing and AI: research, drafting and publishing on the same machinery as this site.82 commits · since 21 Aug 2026
TubeWiserReads my YouTube backlog so I do not have to, and tells me which three videos actually matter for what I am building.136 commits · since 22 Feb 2026
The gym logOne HTML file, no server, no account, no automation. The thing I keep by hand, on purpose.21 commits · since 19 Feb 2026
The blog factoryOne pipeline behind five sites: it plans topics, researches, drafts, illustrates and pushes, then waits for me to release.652 commits · since 22 Mar 2026
The cockpitWhere every draft waits for me: thirty-eight roles, fourteen nightly loops, one morning edition, and a button nothing gets past.1812 commits · since 14 Jul 2026
The video lineScript in, rendered video out. Voice first, picture second, and a cost gate that stops the run before it spends.221 commits · since 28 Jul 2026
The home serverA ten-year-old ThinkPad under the desk. Every nightly run on this site happens on it, and it tells my phone when something is wrong.52 commits · since 16 Jul 2026
The mining fileReads technical reports so I can compare junior miners on what is proven rather than what is claimed — and refuses every number it cannot trace back to a page.982 commits · since 23 Jul 2026
The cost cockpitCounts what every model in this house costs, and tells me how many minutes of Claude are left before the door shuts.36 commits · since 16 Jul 2026
From the log
-
The reconnect quietly swapped my channel id
Reconnecting X fixed its 280-character limit and silently gave the channel a new id. My config kept pointing at the old one.
-
The limit came from the docs, not the endpoint
My code said a post could be 25000 characters. The service in between accepted 280, and it had said so in a rejection nobody read.
-
Twenty-one cards, one hundred rejected
I sorted the heap of 121 open proposals my agents had made. 21 became work, 100 were rejected, and each rejection got a written reason.
-
The project switch was saved and invisible
I switched a card’s project 20 times. Every switch was saved, and the history showed each one as an empty note. The bug sat where the…
-
My cap switched off the dispatcher
A limit I wrote to keep one failure cheap stopped every card for 142 minutes, while three indicators stayed green.
-
My schedule test started a real run
I tested a cron schedule by calling the script the cron calls. It ran for real. What 14 crontab lines taught me about dry runs.
-
My 48-hour veto window ran for 72
A deadline set to 48 hours ran for 72, because the job that enforced it only looked once a night.
-
5 of my 54 open cards could actually go out
My cockpit listed 54 open cards. Only 5 could leave without a click. Open and postable were two questions, and I had asked one.