POOM is an AEO-native marketing intelligence app that turns buyer questions in ChatGPT/Claude into personalized SaaS walkthroughs and qualified vendor leads, by converting Loom, Zoom, or any publicly accessible product video into an interactive POOM experience.
This repository contains the ChatGPT/Manufact MCP app layer (tools + widget UI).
SaaS buyers are increasingly evaluating products inside AI chat, not just search pages.
Buyers ask:
"I'm considering Puzzle. How easy is it to create a journal entry and a PO?"
POOM answers with personalized product proof, not generic marketing pages or long untargeted demos.
- Need quick answers to exact workflow questions.
- Do not want to watch long generic demo videos.
- Need confidence before engaging sales.
- Have demo content but limited assistant-native discoverability.
- Need AEO (Answer Engine Optimization), not only SEO.
- Need qualified and enriched lead context, not just form fills.
- Receives a buyer intent query in ChatGPT/Claude.
- Opens an interactive walkthrough widget for a relevant run.
- Streams chaptered playback and contextual quiz interactions.
- Supports structured interaction patterns that can feed lead qualification workflows.
Everything happens inside the ChatGPT widget:
- Create POOM: user requests a personalized walkthrough from a question or source video.
- Track POOM progress: widget shows live generation status (ingest, segmentation, script, dubbing, ready).
- View previous POOMs: user can open past generated POOMs from run history.
- Play a POOM: user watches the chaptered interactive walkthrough directly in the widget.
No context switching, no external dashboard required.
flowchart LR
subgraph Chat["Chat Surface"]
Buyer["Buyer asks workflow question"]
MCP["POOM MCP App<br/>tools + widget"]
Buyer --> MCP
end
subgraph Runtime["ADK Runtime Pipeline"]
Ingest["Video ingest<br/>Loom/Zoom/public URL"]
STT["Audio + STT<br/>FFmpeg + Chirp 3"]
Gen["Narrative + Production<br/>Gemini + deterministic cut + TTS"]
Pack["Master artifacts<br/>manifest + chapters + media"]
Ingest --> STT --> Gen --> Pack
end
subgraph Outcome["Interactive Outcome"]
UI["Chaptered in-chat walkthrough"]
Lead["Qualified + enriched lead context"]
UI --> Lead
end
MCP --> Ingest
Pack --> MCP
MCP --> UI
index.ts: MCP server/tool definitions and backend API bridge.resources/tutorial-player/widget.tsx: interactive tutorial player widget.resources/tutorial-player/widget.css: widget styling.resources/tutorial-player/types.ts: widget prop contracts.public/: static assets for app icon/favicon imagery.
list_runslist_poomscreate_poomget_poom_statusopen_run_playerget_segment_quizsubmit_segment_quiz
This MCP app expects a runtime API that provides:
GET /runsGET /runs/{run_id}/manifestGET /pipeline/jobsPOST /pipeline/jobsGET /pipeline/jobs/{job_id}GET /quiz/{run_id}/{segment_id}POST /quiz/{run_id}/{segment_id}/score- media/chapter endpoints returned in manifest payloads
The backend currently used by our team is the POOM/Peazy Explorebook runtime service.
- Node.js 22+
- npm
- Running runtime API reachable from this app
npm install
npm run devInspector:
http://localhost:3000/inspector
ADK_API_BASE_URL(default:http://localhost:8000)ADK_API_TIMEOUT_MS(default:9000)ADK_DEFAULT_RUN_ID(optional)MCP_URL(set by platform on deploy; local default:http://localhost:3000)
npm run deployPOOM helps SaaS teams win assistant-native discovery and conversion by turning existing product videos into personalized interactive walkthroughs and lead intelligence inside ChatGPT/Claude.