I run 17 Claude Code bots inside a real food company. Here's what actually works.
I'm not a developer. I run 17 Claude Code bots inside a real B2B food company anyway. Here's what works, what it costs (US$20), and what fell over at 3am.
Latest
All posts →
20 Rules an AI Support Logger Needs That No Tutorial Mentions
A year of turning support chats into claim records produced these 20 rules. Each came from a real wrong row. Start here if you're building anything similar.

Claude Code Scheduled Tasks: How I Replaced Cron for a Non-Dev Team
Two daily tasks and a pattern of one-time night jobs run my bot maintenance with no cron, no server, no developer. What they do and the sleeping-laptop trap.

"Database Is Locked": The Night Our Support Bot Gave Up 7 Times
A SQLite 'database is locked' storm took down our claims bot for an evening: 300+ errors, 7 chats abandoned. Ordinary cause, two-line fix.

DNS Failures Took Down 3 Bots: The launchd PATH Trap on macOS
One bad morning, two unrelated failures: a flaky DNS resolver flooded the log and launchd couldn't find the Claude CLI. Diagnosis order and the plist fix.

Google Sheets as a Bot Database: What Broke at 85% of the Cell Limit
Our bots wrote to one Google Sheet for a year. It hit 85.5% of the cell limit and 20,000 volatile formulas. The audit, what we kept, and the fix.

Input Columns vs Formula Columns: A Sheet Layout Bots Can't Break
The one layout rule that made our Google Sheet safe for a bot: 15 input columns, everything else derived. Three source-of-truth numbers, renamed products.

launchd vs Docker for Always-On Claude Code Bots on a Mac
Seventeen bots run as one Python process under launchd on a Mac. No Docker, no cloud. Why, the four traps we hit, and the checklist for moving machines.
Five things I write about
Claude Code in business
Hooks, scheduled tasks, CLI flags, what it costs.
Slack bots & approvals
Cards with buttons. Nothing ships without a click.
Google Sheets as a database
Layouts that survive bots writing to them.
Support automation
Closed chats become structured rows.
Cost & failure log
Monthly numbers and the nights it broke.
“None of this is hard. It's the tedious, soul-sucking grunt work nobody wants to do. Hand every bit of it to the bot.”
— the one line every post ends withWhy this site exists
Every “I automated my business with AI” post has the same mysterious hole in it: no bill, no failures, no screenshots. It's a cooking show that skips the groceries. This site is the opposite. Every post has at least one real cost figure, a real screenshot, or a real thing that broke. Company and customer details are anonymised; the numbers are what actually happened, including the embarrassing ones.
Seungjoo Choi, operations lead at a B2B food-distribution company in Korea. Not a developer. Posts are drafted with Claude and checked by me. More →