Document intelligence, local-first
ChiefOS
An AI chief of staff for your documents. It files them, surfaces what's due, and remembers who and what appears across all of them.
ChiefOS is a document intelligence platform I built and run in production: a swarm of specialized agents that classifies, files, deduplicates, and reads deadlines out of thousands of documents. Local models, local database, one drop folder. Ask it "what's due this month" and it answers from your actual paperwork.
- 8specialized agents
- 16assistant tools
- 1drop folder
How it works
Every file starts in one place: the In-Box. On a schedule, the orchestrator wakes up, reads what arrived (native text, scanned PDFs through on-device OCR, spreadsheets, slide decks) and classifies it against rules the system has learned from past corrections. Confident matches get filed into canonical folders. Uncertain ones go to a review queue instead of a wrong guess. Every move is logged, and when you correct a filing decision, the system learns the keyword so it doesn't make that mistake twice.
- In-BoxOne drop folder. Everything starts here.
- ReadingNative text, scanned paper through on-device OCR, sheets, decks.
- ClassificationMatched against rules learned from past corrections.Review queueUncertain, held for a human. Never a wrong guess.
- FiledCanonical folders. Every move atomic and logged.
- AskPlain-English questions, answered from your own paperwork.
The eight agents
Each agent does one job and hands off. Every move is atomic and logged, and no part of the engine can delete a file.
- The OrchestratorRuns the show. Wakes hourly, decides what needs doing, dispatches the others.
- The Filing ClerkMoves are atomic and logged. Nothing in the engine issues a delete against your files.
- Lost & FoundSecond opinion on files nothing else could place. Nothing gets filed on a bad guess.
- The Dedup HunterFinds exact and near duplicates by content fingerprint, proposes cleanup, never acts alone.
- The StudentLearns new routing rules from every correction you make.
- The ProfilerBuilds a knowledge graph of the people and organizations in your documents.
- The AuditorReviews the system's own code every cycle and writes up proposed fixes.
- The KeeperKeeps everything running as a background service, restarts what falls over.
What it does
- Ask, don't search."Find the Verizon bill from January." "What's due in the next 14 days?" Plain-English questions against your real documents, answered from extracted text and metadata, through a chat assistant, a CLI, or a dashboard.
- Reads everything.Born-digital PDFs, scanned paper, Word, Excel, PowerPoint. A cascade of extraction strategies ending in on-device OCR means a 2009 scanned receipt is as searchable as yesterday's invoice.
- Deadlines surface themselves.The system extracts obligations (bills, renewals, due dates) from document content and puts them on one "what's due" view.
- Knows who's who.A personal knowledge graph links people and organizations to the documents they appear in.
- Cleans as it goes.Duplicate detection by content hash, empty-folder pruning, scatter detection, and consolidation planning, all proposed first, and rehearsed before they run.
- Learns from you.Correct one filing decision and the routing rule updates. Accuracy compounds.
What runs where
The models are local. The database is local. The OCR is on-device. Cloud models exist as an opt-in tier for the hardest problems, behind a budget gate, and the system degrades gracefully to rule-based routing if every model is offline. Your documents are not a SaaS company's training data.
Runs on the machine
A Mac mini, on all the time.
- Python agent swarm (~26K lines) with an orchestrated hourly cycle
- PostgreSQL as the single source of truth
- Local open-weight LLMs, two tiers: a fast classifier and a smarter analyst
- On-device OCR via Apple's Vision framework (Swift)
- Next.js and React operator dashboard, plus a native macOS menu-bar app
- Full-text and natural-language search in the database itself
Bridges out, still local
- MCP server exposing 16 tools to AI assistants (Claude Desktop, Cursor)
- CLI: ask, find, summarize, what's-due
Optional, opt-in
Off by default.
- Cloud LLM tier for the hardest problems, budget-gated
The column widths are the point. Roughly everything happens on the machine.
The safety contract
Rule One: nothing is ever deleted.
Retired files go to quarantine, not the trash. Nothing in the engine issues a delete against a document. Every operation runs dry-run first. Every move is logged. The filing and dedup paths require an explicit, literal "Approved" from the operator. Four years of family paperwork is not a place for move fast and break things.
Want one of these pointed at your own documents?
The same pattern applies to any corpus a team has stopped being able to search: contracts, invoices, engineering records, four years of anything. What changes is the taxonomy and the rules, not the architecture.
Start a conversationSee a build measured against what it replaced