ShowcaseAgentic AI
DeckVoice
DeckVoice joins Google Meet, Zoom, or Teams as a presenter. The bot's camera is the slide deck. It speaks in realtime and answers only from the uploaded deck, or it abstains.

The problem
Sales, success, and onboarding teams give the same deck over and over. A chatbot bolted onto slides invents an answer the moment someone asks about a page the model never indexed.
The solution
Upload a deck, paste a meeting link, and a Recall.ai bot joins with the presenter page as its camera. Voice runs through Gemini Live or OpenAI Realtime. Retrieval is server-side and deck-grounded.
DeckVoice is a meeting participant, not a post-call summary. A PPTX is converted, rendered page by page, read by a vision model, and embedded in Postgres with pgvector. A quality gate rejects a deck if too many pages come back empty. On launch, the meeting platform sees a normal participant whose video is the slides. Tool calls stay on the server: search the deck, change slides, mute, leave, or send chat. If retrieval is below the relevance threshold, the agent does not invent an answer.
Implementation
LibreOffice and PyMuPDF turn the deck into page images. Gemini or GPT-4o extracts each page. Embeddings land in Postgres with pgvector. Recall.ai joins Meet, Zoom, or Teams. A WebSocket relay brokers Gemini Live or OpenAI Realtime audio.
Architecture
Indexing: PPTX to PDF to page images, vision extraction, a quality gate, then text-embedding-3-large into an HNSW index. Launch: Recall.ai bot with the presenter app as camera output. Realtime: a provider-agnostic audio relay. Answers: server-side hybrid retrieval with a bias to the current slide and a hard abstain when the deck cannot support the question.
Tech stack
- Python
- FastAPI
- React
- Postgres
Results
- The deck is the bot's camera, not a separate screen share
- Spoken answers stay sourced from the uploaded slides
- The agent stops instead of inventing when the deck has no support
FAQ
Which meeting platforms does DeckVoice support?
Google Meet, Zoom, and Microsoft Teams. A Recall.ai bot joins as a participant and shows the presenter page as its camera.
Does the agent invent answers not on the slides?
Search runs only on the server against the indexed deck. Below the relevance threshold it abstains. That is a hard stop, not a claim of zero hallucination.
What voice models does it use?
Gemini Live native audio by default, or OpenAI Realtime. The presenter client speaks one event shape, so the switch is configuration, not a second product.