01The Problem
Small teams drown in operational overhead. Standups need running, status needs collecting, routine code changes need making, and research questions pile up. None of it is anyone's main job, but all of it eats the week. Hiring for it doesn't make sense at startup size, and ignoring it means things slip.
I wanted to find out how much of this autonomous AI agents can take over, running every day as normal infrastructure rather than as a demo.
02The System
The result is a set of autonomous AI agents running on self-hosted Linux machines. Each agent is fully isolated: one agent, one service, one control surface. A misbehaving agent can't take down the others.
- An ops agent runs daily standups end-to-end. It reads the team's updates, opens threads to ask clarifying questions, requests and analyzes screenshots, cross-references the project-management board against actual git activity, and publishes a daily verdict to a reports repository.
- An engineering agent ships code. It picks up scoped tasks and opens pull requests on its own. A human reviews, and the agent iterates on the feedback.
- A research agent handles the deeper investigations that would otherwise sit in a someday pile.
- A personal assistant agent manages calendars, tasks, and the glue work between the others.
03Watch It Run
This is a replay of what a typical agent-run standup looks like. Press play. Names and content are made up, but the behaviour matches the real system.
04Under the Hood
- Isolation by design: one agent runs as one isolated service under systemd supervision, each with its own Discord bot as a control surface. Chat is the UI, so there is no custom frontend to maintain.
- Custom tool belt: purpose-built CLI tools for task management, GitHub, and calendars, so agents act through the same interfaces a human would.
- Conditional triggers: agents wake on meaningful conditions rather than fixed schedules, so LLM calls only fire when there is a reason to. That keeps the bill predictable.
- Zero-dependency cost dashboard: a lightweight usage monitor tracks what every agent spends, per day, at a glance.
- Conversation memory: agents keep context across sessions and remember earlier decisions.
Design principle: agents earn autonomy incrementally. Each one starts supervised, proves itself on low-stakes work, and graduates to running unattended. Humans still review the output that matters, like pull requests.
05What Came Out of It
- Standups run daily without a human facilitator, and the cross-check against git activity catches drift that a person would miss.
- Scoped engineering tasks get turned into reviewable pull requests without a developer context-switching to them.
- Costs stay flat because of the trigger design. The system doesn't burn tokens idling.
- The architecture generalizes: the same pattern (isolated agents, custom tools, chat as the control surface) now underpins how I automate operations in the companies I run.
Want something like this running in your company?
I design and build agent systems tailored to real operations.