Two products I built end to end - architecture, payments, the deployment, and the boring parts after launch.
A multi-tenant SaaS: a business embeds an AI chat widget on its site and runs the entire customer conversation - bot, human, bookings, payments - from one dashboard.
The widget answers from the business's own content, captures the lead while the conversation is warm, and hands the thread to a human when one is needed. It books appointments, takes payment through Stripe, runs email campaigns, and can take the conversation to voice.
Next.js on the front and back, Prisma as the data layer, Gemini for the conversation. Pusher carries the real-time channel that makes handoff feel live: the agent sees the thread as it happens and takes over without the visitor noticing a seam. Clerk handles auth and keeps tenants separated; Vapi covers the voice path.
Multi-tenancy is the whole problem. Every query is scoped by tenant, every webhook is verified before it is trusted, and the handoff has to let a bot and a human write into the same thread without duplicating or dropping a message. The AI was the easy half.
An Instagram automation product: connect an account, define what to listen for, and it answers, either straight away or by holding a real conversation.
Users connect an Instagram account and set keyword triggers on comments and DMs. A match sends a reply straight away, or hands the thread to Gemini to continue as a conversation. Built for agencies running many accounts at once, not one profile.
Meta webhooks push events in real time. The matcher checks each event against the account's triggers, then either sends a fixed reply through the Graph API or opens an AI conversation. Clerk handles auth, Prisma is the data layer, PostgreSQL holds the state.
Meta's webhook rules, not the AI. Signature verification, retries, duplicate deliveries and per-account rate limits all have to be handled, so every event is idempotent and a redelivered webhook never sends a second DM. Get that wrong and the product annoys the customer's customers.