What I Built
Built a real-time meeting copilot that transcribes speech live, extracts factual claims as they’re spoken, and verifies them against company documents — all while the meeting is still happening. Features dual audio modes (mic-only + full meeting capture with speaker diarization), an Adaptive Corrective-RAG pipeline powered by a LangGraph state machine, and an agentic RAG chat copilot with 5 specialized tools. Ingests 300 documents in under 15 seconds through an event-driven Kafka pipeline.
What I Learned
The fastest path isn’t always through an LLM. Regex-based query classification routes aggregate questions (“how many invoices from July?”) to a pure SQL fast-path at ~83ms with zero LLM calls, while point queries go through full hybrid RAG at 1-3s. This dual-path architecture dropped average response time by 10x for the most common query types. Also learned that multichannel audio processing (separating mic + system audio via AudioWorklet) is critical for accurate speaker diarization in meeting mode.
Key Results
| Metric | Result |
|---|---|
| Document ingestion | 300 docs in ~15s (event-driven Kafka pipeline) |
| PDF parsing | 830 docs in 6s (~7ms/doc, process pool) |
| Aggregate queries | ~83ms (SQL fast-path, zero LLM) |
| Claim detection | ~200ms per batch (Groq Llama 3.3 70B) |
| Point queries (RAG) | 1–3s (hybrid search + LLM grading + synthesis) |
| Transcription | Real-time (Deepgram Nova 3 streaming) |
| Copilot first token | <1s (streaming SSE) |
Project
🔗 GitHub Repository | 🎥 Demo Video
Tech Stack: Next.js 16, FastAPI, LangGraph, Deepgram Nova 3, ParadeDB (pgvector + BM25), Redpanda (Kafka), Redis, OpenAI, Groq | Search: 4-way hybrid retrieval (dense + BM25 + entity + SQL)
Citation
@online{prasanna_koppolu,
author = {Prasanna Koppolu, Bhanu},
title = {AIlways},
url = {https://bhanuprasanna2001.github.io/projects/ailways.html},
langid = {en}
}