Inspiration

Companies rarely fail all at once. One thing goes wrong, then the next. A big customer pays late. Cash dips below what the bank requires. Access to credit becomes uncertain. Now payroll is tight.

Financial disruptions can create cascading consequences across an entire enterprise. Even sophisticated finance teams spend significant time forecasting these risks, understanding their implications, and determining the best course of action.

In 2024, 2U, a well-known education technology company, filed for bankruptcy following prolonged financial difficulties. Its story illustrates how liquidity pressures, debt obligations, and financial constraints can compound over time.

Existing financial tools help companies understand what might go wrong. But figuring out how to prevent it still requires extensive human analysis.

We wanted to build a financial teammate that never stops watching—and doesn't stop at identifying the problem.

What it does

Domino is an autonomous enterprise FP&A agent specializing in cash-flow forecasting, liquidity risk detection, and financial remediation.

It reads your tools. Billing, cards, accounting, payroll, sales, and banking data.

It checks your books. A team of agents investigates inconsistencies, unusual transactions, and potential financial risks, like a vendor suddenly changing its bank account.

It forecasts 13 weeks of cash. Domino continuously projects future cash positions, with every number traceable to the underlying financial records and assumptions.

It follows the dominoes. When a financial disruption occurs, Domino analyzes its downstream consequences. Each possible outcome becomes its own branch on a timeline, allowing finance teams to understand how different scenarios could unfold. For example: "the bank grants a covenant waiver for a fee" versus "the company loses access to its credit line."

It recommends fixes. Rather than simply identifying a potential cash shortfall, Domino evaluates possible financial interventions, tests their effects on projected cash flow, and recommends actionable remediation strategies. Finance teams can review, approve, or dismiss its recommendations. Domino never moves money.

It learns. Domino uses feedback to improve future analysis. Dismiss a flag with a reason, and that feedback can inform how similar patterns are handled, with an auditable record of the change. It also learns how late each customer typically pays.

You can also ask: "What happens if our biggest customer pays a month late?" or "What combination of actions would keep our cash above $5 million?"

Domino's goal is simple: help enterprise finance teams move from anticipating financial problems to understanding how to prevent them.

How we built it

  • Convex is the whole backend.
    • Each agent step is a Convex action that calls outside services and saves its result in one transactional write.
    • Live queries update every screen, including the agent map, notifications and fixes, with no refresh.
    • The scheduler runs the day-by-day simulated clock.
    • HTTP actions receive signed vendor webhooks.
    • One typed schema holds everything.
  • CREAO runs our main background agents as four CREAO apps:
    • a coordinator that decides which flags to escalate, which scenario to focus on and who to research
    • a flag explainer that writes each audit flag in plain English
    • a scenario summarizer
    • a counterparty researcher
  • Claude (Opus 5.5) API
  • Apify runs its Google Search actor on each company's biggest customers and vendors to find news like layoffs or funding. We drop social media posts and anything that doesn't name the company, and cap it at 3 searches per data check.
  • Capital One's Nessie sandbox is the company's bank. We read real accounts and transactions through its API and check them against the other tools to the cent.
  • CRS sandbox runs a TruValidate identity check and a FraudFinder check whenever a vendor changes its bank details or a large bill arrives from a vendor we haven't seen before.

All the math happens in a plain TypeScript engine. Stripe, Ramp, QuickBooks, Gusto, and HubSpot are mock versions we built in the same shape as their real APIs, filled with simulated books. Our demo companies are fictional, modeled on public companies' filings. The 2U backtest uses 2U's real filings.

Challenges we ran into

  • Letting AI plan without letting it do arithmetic.
  • Making follow-on events realistic instead of just shifting a line on a chart.
  • Making learned rules safe: each one applies to one company, is versioned, and can be undone in one click.

Accomplishments we're proud of

We froze 2U's real filings at November 10, 2023 and asked Domino what to do. Its top suggestion was to draw the rest of the company's credit line. That's what 2U actually did: $20M. The forecast itself missed badly; actual cash came in far above it. The advice was still the right move.

We also built a live map where you can watch every agent and every tool call as it happens.

What we learned

In finance, trust beats cleverness. People act on a number only when they can see where it came from.

What's next

  • Real connections to billing and accounting tools.
  • Team logins.
  • Forecasts with ranges instead of a single line.
  • A weekly cash report you can send to your bank.

Built With

Share this project:

Updates

Submission history