Inspiration

Every startup that dies leaves a trail. Look at WeWork, Quibi, or Theranos. The warning signs were sitting right there in their own numbers, months before the collapse. The data was never the problem. The problem was that nobody could read it in time. Investors build that instinct over decades of watching companies fail, and we wanted to put it in every founder's hands.

What it does

The Failure Oracle reads your startup's health the way a seasoned investor would, but in seconds. You give it your metrics like burn, churn, runway, NPS and growth. It compares you against 100 real failure patterns, finds your closest match, gives you an Oracle Score from 0 to 100, and shows the warning lines you crossed. Then a second AI agent argues the other side, so you get both the bull and bear case instead of one confident answer. From there it hands you an Escape Plan with concrete targets, maps how one failure cascades into the next, and shows what the survivors actually did. It also clears healthy startups, audits big decisions before you make them, and keeps watching in the background, pinging you on Slack the moment things get worse.

How we built it

The engine is a three-agent pipeline on Google's Agent Development Kit (ADK). The Investigator embeds your metrics with Voyage AI, runs MongoDB Atlas Vector Search plus BM25 to find the closest patterns, and scores them with Gemini. The Challenger is a second, independent Gemini agent that looks for counter-evidence and disputes the verdict when it disagrees. The Reporter pulls it all together into the score, the escape plan, and the cascade. MongoDB Atlas does the heavy lifting: Vector Search for retrieval, $graphLookup for the failure cascade, Change Streams so every new analysis updates the odds, and $bucket with $facet for cohort percentiles. The backend is Python and FastAPI, the frontend is plain JavaScript, and it runs on Google Cloud Run with Cloud Scheduler handling the monitoring.

Challenges we ran into

The hardest part was making the AI disagree on purpose. Most demos show an AI being confidently right, so getting a second agent to genuinely push back, and showing that disagreement as a feature instead of hiding it, took a lot of tuning. We also wanted the Escape Plan to be real math instead of a guess, so the numbers stay the same between runs even though Gemini does not. And wiring up Change Streams so the system learns from each case, without one strange startup throwing off everything, took some care.

Accomplishments that we're proud of

We got an AI to cross-examine itself, and that one feature changed how much people trusted the result. The Oracle Score is fully transparent, with a formula you can check instead of a black box. And we used MongoDB Atlas for far more than storage. Vector search, graph traversal, and live change streams all sit right in the critical path, doing real work on every single analysis.

What we learned

The hard part of an AI oracle is not the prediction. It is the trust. An adversarial second agent and an honest, transparent score did more for believability than any amount of model tuning. We also learned how far Atlas reaches beyond a database, and how much cleaner the whole system felt once retrieval, graph, and streaming all lived in one place.

What's next for The Failure Oracle

We want to add live data connectors like Stripe and QuickBooks so metrics update themselves. We are growing the pattern library with community submissions, and adding industry-specific cohorts so the percentile ranking gets even sharper.

Built With

  • atlas-search
  • atlas-vector-search
  • change-streams
  • cloud-scheduler
  • css
  • fastapi
  • gemini
  • google-adk
  • google-cloud-run
  • html
  • javascript
  • mongodb-atlas
  • mongodb-mcp
  • motor
  • python
  • slack-api
  • voyage-ai
Share this project:

Updates