
AI Operations Agent for a Business Director
A self-hosted assistant a company director runs the business from, in one Telegram chat: tasks, finance, the knowledge base, calendar, and inbox triage, all wired into the tools the company already usesA personal assistant that holds the company's context
A director's whole back office, run from one chat.

- 21
- Functional modules
- ~95
- LLM tools
- 14
- External integrations
- 8
- Background daemons
- 49
- Database migrations
- 289
- Documents indexed

The situation
A director was running the business from memory and a dozen open apps. Notes scattered across chat, email, and paper. Finances reconciled by hand from each bank export. Deadlines and promises to people slipped through, and finding the right past email or document meant a long hunt every time.
How we built it
A self-hosted tool-use orchestrator the director drives from a single Telegram chat. Each request passes through input validation, model routing with a cost gate, knowledge recall, a tool loop, and a supervisor that checks every answer for hallucination before it is sent. It works on top of the systems the company already runs, with a person kept in the loop for anything destructive.
What it does
Universal capture
Voice, photo, or text dropped into the chat is transcribed, classified, and routed to the right place: a task, a fact, a contact, an event, a commitment, or the journal.
Task lifecycle
Smart due-date handling, two-tier de-duplication, auto-snooze for stale items with a single nudge, and escalation, so nothing quietly rots in a list.
Finance automation
Bank accounts sync automatically; transactions are auto-categorized at roughly 97% accuracy, with month-end forecasting and bulk-undo for corrections.
Inbox & subscriptions
Email is triaged on a schedule with per-message classification; recurring subscriptions are detected from the inbox and flagged ahead of renewal.
Calendar & commitments
Two-way calendar sync with conflict detection, plus promise tracking that knows what is owed and what is awaited, and expires stale commitments.
Knowledge base & RAG
A hybrid keyword-plus-vector search over hundreds of unified documents (email, drive, voice notes) answers in a second or two, with the source cited.
Memory graph
Entities and facts are extracted into a graph with entity resolution, so the assistant remembers people, deals, and decisions across conversations.
Governance & safety
Human approval for destructive, high-cost, or bulk actions; an encrypted private journal; and dashboards for answer quality and per-operation cost with hard caps.
What it runs on
AI core
Claude Sonnet 4.6 / Opus 4.7, GPT-4o and GPT-4o-mini, Haiku 4.5, Gemini fallback, text-embedding-3-small
Voice & input
gpt-4o-transcribe, an ffmpeg clean-up pipeline for noisy audio, Telegram Bot API, web speech
Storage
PostgreSQL with pgvector and pg_trgm, row-level security across per-agent roles, column-level AES-GCM encryption
Backend
Python and FastAPI, async Postgres, a tool-use orchestrator running skills in-process
Frontend
React and TypeScript dashboard with a live memory graph, charts, and a quality view
Infrastructure
Single self-hosted VM, Docker Compose, least-privilege service user, no vendor lock-in
A deeper breakdown of the architecture and modules is available on request. There is too much detail for a public page.

What changed
- The hunt for that one past email or document became a one-to-two-second search with a cited source.
- Roughly 97% of transactions are categorized automatically, where it used to be entirely by hand.
- Subscription renewals surface a week ahead; none are missed.
- Eight background daemons run unattended, with no manual triggers.
- One Telegram chat replaced constant switching between apps and tabs.
- Per-operation cost is transparent and hard-capped, so spend never runs away.
