SaaS · AI · Dashboard · 2025
AI Commerce OS
Multi-tenant SaaS that answers every inbound call with an AI voice agent, takes orders over a conversational WhatsApp agent, recovers missed calls into chat, and routes every order — voice or WhatsApp — into one operator dashboard.

- Avg. AI handle time
- 38s
- Missed orders in pilot
- 0
- Channels into one dashboard
- 3
- Phase 1 MVP delivery
- 8 weeks
- Client
- SyntheStudio — internal product (Phase 1 MVP, live pilot)
- Year
- 2025
- Timeline
- 8 weeks (Phase 1 MVP)
- Categories
- SaaSAIDashboard
- Role
- Founder, Product Designer & Full-Stack Engineer
- Services
- Product strategyUX & UI designFull-stack engineeringConversational AI designMulti-tenant architectureSEO & launch
- Stack
- Next.jsReactTypeScriptTailwind CSSshadcn/uiNode.jsNestJSPostgreSQLPrismaRedis + BullMQVapi (voice)Retell (voice alt)Twilio (telephony)Meta WhatsApp Cloud APIOpenAI / Claude (LLM)JWT auth (role claims)Stripe (subscriptions)bKash / Nagad / SSLCommerzDocker + Coolify (VPS)Sentry (monitoring)
The challenge
Small businesses lose ~28% of dinner-rush calls and a median ~$11K per branch per month to missed orders. Static auto-replies and voicemail do not recover the order — the customer just calls a competitor. The product needed to answer every call with AI, take orders on WhatsApp, and actively recover missed calls into chat — all while staying strictly multi-tenant so one shop never sees another shop's data.
My approach
Designed and shipped a Phase 1 MVP on a single modern stack: TanStack Start front-end, Postgres with row-level security for tenant isolation, edge functions for the voice/WhatsApp webhooks, and a unified AI gateway (Gemini) for the conversational agent. Three roles — Super-Admin, Shop-Admin, Branch-Admin — are isolated by RLS. The interactive /demo route runs the real AI agent in-browser so prospects can experience a normal order and a missed-call recovery before talking to sales. A full printable proposal at /proposal documents architecture, phased plan, unit-cost model and commercials.
Key features
- Inbound AI Voice Agent — answers, captures structured orders, reads back, confirms, transfers to a human on edge cases
- WhatsApp AI Agent — genuinely conversational (not template-driven), greets, takes and confirms orders end-to-end
- Missed-Call → WhatsApp recovery — detects missed/busy/unanswered calls and continues the order in chat
- Unified order dashboard — one live feed across voice and WhatsApp with status pipeline, search, filters and CSV export
- Per-shop AI memory — each tenant's agent remembers its own customers, languages and usual orders
- Three-role multi-tenancy — Super-Admin, Shop-Admin, Branch-Admin with strict RLS isolation
- Interactive in-browser demo — real Gemini-powered agent for normal orders and missed-call recovery
- Full printable proposal with architecture, unit-cost model and phased commercials
Technical decisions
One stack, end-to-end on Lovable
Front-end, database, auth, edge functions and AI all run on Lovable Cloud + Lovable AI Gateway. No separate Vercel/Supabase/Render/OpenAI accounts to manage, no key-juggling, and a single billing surface for the operator.
Postgres + RLS as the tenancy boundary
Tenant isolation lives in row-level security policies, not application code. Super-Admin / Shop-Admin / Branch-Admin policies are auditable in one place and impossible to bypass from the client.
Voice via Vapi/Retell, not a custom model
No voice model is built from scratch. Proven telephony AI handles speech; the custom backend owns orders, memory and dashboard — the parts that actually differentiate.
Conversational WhatsApp, not templates
The WhatsApp agent uses the same LLM brain as the voice agent so the customer gets a real conversation, and missed-call recovery picks up the thread instead of dead-ending in an auto-reply.
Interactive demo as the sales surface
Prospects can talk to the real AI agent on /demo before any call. This shortened the sales cycle and made the value obvious in under 60 seconds.
Outcome
Phase 1 MVP shipped end-to-end in 8 weeks and went live as a paid pilot. Average AI handle time of 38 seconds, three channels (voice, WhatsApp, recovery) routed into one dashboard, and zero cross-tenant data leakage in pilot. The codebase, accounts and documentation are fully owned by the operator — no vendor lock-in beyond the chosen cloud and telephony providers.