Inspiration

I've watched founders and small teams get blindsided by their competitors — over and over again. A rival launches a new product, raises funding, or makes a big partnership, and they only find out weeks later through a news article. Real competitive intelligence is a $500K+ consulting engagement that only large companies can afford.

I wanted to build something that gives that same power to everyone — a system that doesn't just report what happened, but predicts what's about to happen.

What it does

ORACLE is an autonomous multi-agent AI system that predicts a competitor's next 90-day strategic move.

It scans 5 live intelligence sources in parallel, runs an adversarial debate between a Threat Analyst and an Opportunity Analyst, and delivers a boardroom-ready verdict — ALERT, MONITOR, STABLE, or OPPORTUNITY — with a downloadable PDF briefing.

Built for founders, investors, and small strategy teams who need real competitive intelligence without the $500K price tag.

How we built it

Backend (Python + FastAPI):

  • 5-phase multi-agent pipeline orchestrated with LangChain and Groq (openai/gpt-oss-120b)
  • 5 SerpApi engines run in parallel:
    • Google Jobs → hiring velocity (leading indicator of product moves)
    • Google News → lawsuits, executive changes, PR
    • Google Shopping → pricing changes and product launches
    • Google Scholar → patents and R&D bets
    • Google Search → partnerships and market positioning
  • Real-time streaming via Server-Sent Events (SSE)
  • Code-driven verdict logic in Python (not LLM-driven)

Frontend (HTML + anime.js):

  • Payway-inspired editorial design with floating 3D cards
  • Real-time streaming updates as each agent completes
  • Source cards with clickable links and thumbnails
  • Markdown → HTML renderer for structured tables
  • One-click PDF export with print-optimized styling

Deployment:

  • Backend on Render (free tier)
  • Frontend on Vercel
  • Public GitHub repo

Challenges we ran into

1. SerpApi engine quirks. The Google Jobs engine returns link data inside nested apply_options arrays, and Shopping results have no snippet field at all. My first versions returned empty source cards. Fixed by writing field-extraction fallbacks for each engine.

2. LLM hallucination on the verdict. My first version let the AI decide the final verdict, and it kept saying OPPORTUNITY even when signals clearly showed a threat. I solved this by moving the verdict to a Python function based on average signal strength. The AI now only explains the decision — it doesn't make it.

3. Cold starts on Render's free tier. Every time the backend went to sleep, users saw "Failed to fetch." I added a 30-second warning in the UI and a warm-up strategy before every demo.

4. CORS and exposed keys. During deployment, the frontend tried calling localhost:8000 in production, and my API keys were briefly exposed. Fixed with environment variables on both platforms and a proper vercel.json routing config.

5. SerpApi rate limits. Burned through my first quota during testing. Learned to add retry logic, detect quota exhaustion gracefully, and test with specific well-known companies.

Accomplishments that we're proud of

  • 5 SerpApi engines working in harmony. Each engine targets a different leading indicator. Jobs reveals intent 6-12 months before products ship. Patents reveal R&D bets 12-18 months ahead. No single source could do this alone.

  • Code-driven verdict logic. Unlike most hackathon projects, the final decision isn't LLM-generated. A Python function evaluates extracted signal strengths and returns the verdict deterministically. This prevents hallucination on the most critical output.

  • Full production deployment. Live on Vercel + Render, publicly accessible, with real-time streaming and PDF export.

  • Honest AI. When data isn't available (e.g., B2B companies with no shopping results), the AI marks the category as "No data available" instead of inventing signals.

  • Zero coding to full-stack AI in one week. This was my first multi-agent system. Every error taught me something real about production engineering.

What we learned

  • How to design multi-agent systems where each agent has a single, clear responsibility
  • That LLMs are tools, not oracles — critical decisions should be code-driven
  • How to stream real-time AI output with Server-Sent Events
  • How to deploy a full-stack app across two platforms (Vercel + Render)
  • How to handle API rate limits, quota exhaustion, and cold starts in production
  • That the hardest part of AI engineering isn't the AI — it's everything around it

What's next for ORACLE

  • Multi-company comparison. Analyze two competitors side by side to see who's winning.
  • Continuous monitoring. Save companies to a watch list and receive weekly briefings.
  • Confidence heatmaps. Show probability distributions for each prediction, not just single scores.
  • Voice briefings. Audio summaries of the forecast for on-the-go reading.
  • Team sharing. Save every analysis to a shared workspace with a unique permalink.
  • Integrations. Export to Slack, Notion, and email for team workflows.

Built With

Share this project:

Updates

Submission history