Devpost — About the project (BACH)

Inspiration

After months of working with LLM agents every day, two frustrations kept coming back. First: frontier models are impressive, but small local models are not — unless you give them something to hold on to. Second: almost every agent product is a coding tool, while most of my actual life — health records, office paperwork, insurance, scheduling — had no agent working on it at all.

BACH started as an answer to both: an operating system that gives language models structure — handlers, skills, memory, validation — so that even a small local model becomes genuinely useful, and that treats your whole life as the workload, not just your code. The name is a pun: Bach is German for "brook". The stream that unites everything.

What it does

BACH is a local-first operating system for LLMs — Python and SQLite, running entirely on your own machine, no cloud required.

An orchestrated workforce: 11 boss agents coordinate 22 domain experts (software, finance, health, research, personal assistance) over one shared-memory bus, with 50 ready-made use-cases and a live web dashboard. Model-agnostic by design: five interchangeable backends — Ollama (local models first-class), the OpenAI API, Anthropic, the Claude CLI, and OpenAI's Codex CLI. Any running agent can delegate a coding subtask to Codex with a single codex exec call and fold the result back into its own reasoning. Real operator control: agent doctor validates the runtime before launch; pause / resume / checkpoint / steer let you inject new instructions into a running agent at its next safe checkpoint. Agentic doesn't mean unsupervised. A memory that lives: layered episodic / semantic / procedural memory with biological-style decay — knowledge you revisit is reinforced, the rest quietly fades. Over 12,000 sessions consolidated so far. Scale: over a hundred command handlers, 580 registered tools, 4,400+ automated tests.

How we built it

The core is deliberately boring technology: Python, SQLite, a FastAPI dashboard, a handler registry that discovers everything at runtime. What makes the build unusual is who builds it now.

BACH isn't just Codex-powered — it's Codex-developed. Three dedicated Codex automations maintain BACH: a daily care-and-dev check, daily start/health checks, and a weekly GitHub release service. Since July 21, all three have been cost-aware routed to GPT-5.6 Terra — high reasoning for development and release work, medium for health checks. GPT-5.6 Sol with high reasoning designed and verified that routing across all 78 automation definitions in Codex Session 019f85c6-4339-7f13-b8e5-bf1823fd8432. A separate GPT-5.6 Sol final audit reviewed the submission, documentation, and pending security changes in Session 019f8674-fe9a-7d91-a80f-7ee799e8ced0. Earlier dated work logs remain Codex contributions but are not retroactively attributed to GPT-5.6.

Challenges we ran into

Coordination is harder than intelligence. Multiple agents on one machine need locks, conflict detection, and decay in shared memory — most of BACH's hardest bugs lived there, not in any model call. Supervised autonomy. Injecting operator guidance into a running agent without corrupting its state took several iterations — the answer was cooperative checkpoints instead of interrupts. Honesty at OS scale. With hundreds of tools and handlers, it's easy to claim more than you can show. We built doctor surfaces and machine-readable status endpoints partly so that we could verify our own marketing. Automation needs guards. An early hook without an idempotency guard once produced hundreds of database backups in a single session. Every automation now has to prove it's frequency-bounded.

Accomplishments that we're proud of

A system we actually live in daily — not a demo repo. 4,400+ collected tests, kept green by a model that maintains the codebase. The operator control plane: steer, checkpoint, doctor — autonomy you can supervise. Boss agents that handle health records, office work, and insurance for a real household.

What we learned

Structure beats scale. A small local model inside a good OS outperforms a large model with no scaffolding on day-to-day work. Agentic needs an operator plane — trust comes from steer and checkpoint, not from hope. And the biggest one: letting Codex maintain the system daily works — if, and only if, a large test suite gates every change.

What's next for BACH

Deeper mid-run steering inside agent inner loops, low-cardinality telemetry, an English-first pass over the remaining German UI surfaces, GPT-5.6 as a shipped backend default, and growing the expert roster — more of life, not just more of code.

Built With

Share this project:

Updates