ECON: Executive Controller & Operations Navigator

OpenAI Build Week Submission

Inspiration

Early-stage SaaS founders make high-stakes financial decisions long before they can afford a finance team. Their financial reality is fragmented across bank CSVs, Stripe payouts, PDF invoices, QuickBooks ledgers, and spreadsheets. They can tell what happened historically, but the forward-looking questions that actually determine survival (Can we hire? Why did server costs spike? Will cash cover next month?) still require manual work, custom modeling, and deep financial intuition.

We wanted a single, unified financial workspace that founders can talk to. An advisor that understands the books, brings the right charts and transactions onto the screen as it speaks, and helps run workflows without quietly altering financial records behind the founder's back.

What it does

ECON (Executive Controller & Operations Navigator) is an open-source, local-first AI financial controller built for SaaS startups.

ECON can:

  • Track core SaaS metrics: Real-time MRR, ARR, month-over-month growth, gross margins, burn rate, and runway.
  • Warn proactively: Cash-buffer risks, budget overruns, and unusual cost growth surface the moment the app opens.
  • Navigate by voice: Answer questions aloud, jump to the relevant page, compile the right chart, and show the exact source transactions behind every answer.
  • Model scenarios: Evaluate the runway and cash impact of decisions like hiring two engineers, changing pricing, or prepaying annually.
  • Ingest locally: Import bank CSV statements, auto-categorize transactions, and queue uncertain items for human review.
  • Extract from documents: Parse invoices and receipts with vision models to auto-populate transaction fields.
  • Connect to your stack: Normalize and import financial data through Stripe, QuickBooks, and Xero adapter configurations.
  • Keep the books honest: Maintain a balanced double-entry journal that separates posted transactions from unposted drafts.
  • Keep humans in the loop: Require explicit approval for any agent-requested write or ledger modification, backed by a persistent audit trail.
  • Work offline: The ledger, forecasts, scenarios, CSV imports, and deterministic typed advisor all run without a connection.

The core design concept is interaction parity: every meaningful action available through mouse and keyboard is also represented as a typed command the agent can execute. The advisor doesn't live in a disconnected sidebar. It operates the workspace itself.

How we used OpenAI

OpenAI models power the two most important experiences in ECON:

  1. The Voice CFO, built on the Realtime API. Voice sessions run on gpt-realtime-2.1 through the OpenAI Realtime API (via @livekit/agents-plugin-openai), giving us a true speech-to-speech connection with no STT-LLM-TTS cascade. The result is a low-latency advisor that can hold a natural conversation while simultaneously navigating pages, filtering transactions, compiling charts, and running projections through typed commands.
  2. Multimodal document extraction with the Responses API. Invoices and receipts are parsed with gpt-5.6 through the Responses API, transforming unstructured PDFs and images into validated, balanced journal entries with confidence scores that route uncertain items to a review queue.

The Realtime model handles intent understanding, tool selection, and spoken dialogue, while a deterministic TypeScript finance engine owns every number. The model never does arithmetic and never writes to the ledger directly. It requests actions; the engine and the human decide.

ECON also supports Gemini as an alternate provider, so the same architecture runs on either stack. This provider-agnostic design kept our trust boundaries clean and made the OpenAI integration a first-class citizen rather than a bolted-on feature.

How we built it

The desktop app is built with Electron, React, TypeScript, Vite, Zustand, and Recharts. Authoritative financial calculations, forecasts, and scenarios come from a fully unit-tested TypeScript finance engine. A double-entry ledger layer enforces trial-balance integrity and isolates posted balances from draft imports.

The voice experience runs on LiveKit Agents with a native speech-to-speech connection. The Electron backend mints client credentials on the fly and uses LiveKit's token-level RoomConfiguration and RoomAgentDispatch to dispatch the agent to the room at connection time, completely removing the need for manual CLI dispatch setups or local server configuration.

We used agentic AI coding assistants throughout the build to turn a broad "AI accountant" concept into a structured, tested, and secure desktop product: designing the trust boundaries and command/RPC schema, building the React interface and Electron lifecycle handlers, wiring the LiveKit RPC channel, and generating automated test suites covering KPIs, balanced journals, forecasting, and command execution.

Challenges we ran into

The primary challenge was trust. An accounting agent must be capable of taking action, but a model mistake cannot be allowed to corrupt the ledger. We solved this by separating posted transactions from unposted drafts, enforcing balanced journal rules, adding a confidence-based review queue, requiring explicit user approval for writes, and capturing every action in a strict audit trail.

The second challenge was achieving a zero-configuration developer setup for local LiveKit servers. Local servers ordinarily require explicit dispatch triggers or CLI rules. We solved this with token-based auto-dispatch: the Electron wrapper configures the room's agent dispatches directly inside the minted JWT, making room joining instantaneous.

Finally, managing the voice connection lifecycle across panels was tricky. We lifted the LiveKit room and microphone state to the root of the application shell, so the voice session can control the dashboard and keep the glowing viewport border active even when the transcript drawer is closed.

Accomplishments we're proud of

  • A cohesive desktop product: A complete, unified workspace rather than a collection of isolated AI wrapper widgets.
  • A real voice CFO: A low-latency Realtime API controller that navigates, filters, charts, and runs projections while it talks.
  • Rigorous financial code: Unit tests validating SaaS metric logic, forecasting rules, and double-entry trial balances.
  • Zero-friction agent dispatch: Agents auto-dispatch via token metadata, with no local setup required.
  • Genuine offline support: 100% of core data, forecasts, and the deterministic typed advisor remain available offline.

What we learned

For high-trust applications, the LLM should not be the database or the calculator. The most robust pattern is to let the model manage user intent, visual navigation, and tool coordination, while deterministic code enforces mathematical constraints and keeps the ledger balanced.

We also learned that voice interfaces are far more engaging when they control what the user sees. When the voice CFO brings up the exact chart, scenario comparison, or transaction list behind its explanation, the interaction feels like pair-programming with a financial partner rather than talking to a chatbot.

What's next for ECON

  • Production-grade OAuth2 and webhooks for Stripe, QuickBooks, and Xero sync.
  • Accrual accounting, including deferred revenue recognition.
  • Cohort retention, CAC, LTV, and churn analytics.
  • RBAC, SSO, immutable audit logging, and departmental cost centers.
  • Collaborative multi-user review and accountant export.
  • Fully local voice using Whisper and Piper for a completely offline advisor.

Built With

Share this project:

Updates