The product mechanism
A host uploads walkthrough videos and PDFs once; guests then get instant, grounded answers on WhatsApp — including auto-cut video clips of the exact moment that answers their question.
Ingestion pipeline
- Host uploads apartment walkthrough videos / house-manual PDFs to object storage (Cloudflare R2 / S3).
- FFmpeg extracts audio → Whisper transcribes → an LLM pass detects topics (WiFi, check-in, parking, appliances…).
- Transcript chunks are embedded into Qdrant; structured property/booking data lives in Postgres.
- Conversations map to booking, property and host, so every answer is scoped to the right apartment.
Guest conversation loop
- Guest messages arrive via the Meta WhatsApp Business API (or Twilio) webhook.
- RAG retrieval over the property's own knowledge — answers are grounded in the host's actual walkthrough, not a generic model.
- When the best evidence is a video moment, FFmpeg auto-cuts a clip at the right timestamp and sends it with the reply.
- Escalation to the host when confidence is low — the assistant's job is to handle the routine 80%, measurably.
Unit economics before a line of product code
The core design artifact is a dataclass-driven cost model that separates one-time onboarding from monthly run-rate, and — the real cost driver — narrated media (Whisper transcription path) from silent media (text/tag path), fanned across portfolio sizes from 10 to 200 listings.
Cost model (planning rates)
WHISPER_PER_MIN = 0.006 # only for host video minutes WITH speech
GPT_PER_GUEST_MSG = 0.012 # RAG reply + structured fields
EMBED_SOUND_ONBOARD = 0.10 # transcript chunks, one-time per property
WHATSAPP_PER_CONVERSATION = 0.07 # text conversations only
PORTFOLIO_SIZES = [10, 30, 50, 100, 200]
Usage profiles (narrated vs silent video minutes, stays per month, guest messages per stay) multiply against per-unit rates, so pricing conversations with property managers happen over a spreadsheet-grade model rather than a guess.
Go-to-market designed like engineering
Pilot & demo discipline
- Pilot tiers with success metrics defined before the pilot starts: % of questions handled without a human, escalation rate, time-to-first-reply.
- A repeatable 15-minute demo script with a fixed demo-apartment fixture, so on-stage answers are deterministic.
- "Pilot promises need an issue" — every commitment made in a sales call becomes a tracked work item.
Operating model & delivery stack
- A 3-person operating model (2 dev, 1 sales) with an on-call rotation and single-source-of-truth rules.
- Deployment story: Next.js dashboard (Clerk auth) on Vercel, FastAPI + workers on Railway/Render, Stripe billing, staging-before-prod discipline.
- Documents are code: a shared ReportLab layer with Unicode font fallback renders client/investor-grade PDFs, timestamped per revision.