Inspiration M&A diligence is a frantic scramble through web articles, expert calls, and data rooms — and the reasoning behind a go/no-go almost never traces back to a source. We wanted an agent that gathers the open web and live voice interviews into one auditable context base, then shows why it flagged a risk, not just that it did.
What it does It builds an auditable diligence profile per target company. Two agents gather evidence — a Tavily open-web research agent and an OpenAI Realtime voice-interview agent — into a shared context base. Senso powers a cited chat over every source; LLM fact-extraction feeds Prometheux rules that derive signals (corroborated risk, contradictions, sentiment). The result renders as a Hinge-style swipe card: signals, quotes, and a chat you can interrogate — every claim citation-backed.
How we built it Python/FastAPI backend with two gathering agents → context base; LLM fact-extraction → Prometheux ontology + rules → derived signals; SQLite as glue-only store (interviews, transcript segments with time offsets, agent-picked quotes, cached card payloads). React/Vite frontend for the swipe deck + chat. Voice runs over WebRTC; the backend only mints the ephemeral key and never touches audio.
Challenges we ran into Keeping two data layers honest — Prometheux facts (quotes) vs. derived value props/sentiment with lineage. Wiring per-quote audio playback meant storing transcript time offsets. And keeping the whole thing demo-able: the card falls back to a baked-in deck when the backend is down.
Accomplishments that we're proud of Auditable cross-source reasoning — not a voice gimmick. Every signal on the card traces back to a cited source, and the chat answers with citations.
What we learned A locked JSON file is just a worse database once recordings, segments, and quotes are multi-writer — so we reversed our hour-0 "no SQLite" call and kept SQLite as glue only, never a content/fact store.
What's next Audio playback of full calls from the card, ClickHouse analytics across many interviews, and a bias judge over the derived signals.
Log in or sign up for Devpost to join the conversation.