SellerVai
Conversational commerce platform for online merchants in Bangladesh. A per-conversation message debouncer, hybrid product search, and a DeepSeek-powered sales agent handle customer chat across Messenger, Instagram, WhatsApp, and Telegram, backed by a merchant analytics dashboard and automated follow-up nudges.
- Client
- SellerVai
- Role
- Lead Full-Stack & AI Engineer
- Timeline
- 2025 – 2026
- Stack
- 10 technologies
A closer look



- Per-conversation message debouncer: an in-memory 7-second quiet-window buffer merges rapid-fire multi-message bursts into one prompt — single-process by design, with the Redis migration path already scoped in code comments for when it needs to scale past one worker
- Gemini Vision-powered marketing content: merchants upload product photos and Gemini Vision extracts attributes to auto-draft social posts — a merchant tool, not customer-facing recognition
- Hybrid product search: SQL ILIKE match first, with PGVector semantic search as a fallback over merchant-uploaded catalogs and documents for Banglish queries ILIKE misses
- Deterministic intent-qualification scoring: the LLM reports only observed signals (unprompted contact info, prior delivered orders, price-only questions, hard haggling) — it never assigns the score itself — and a low score nudges the agent toward requesting advance bKash payment instead of blind COD
- Merchant analytics suite fed by a scheduled offline conversation analyzer: conversion funnel, lost-reason analysis with estimated taka lost, demand-gap detection, and stockout cost estimation — WON outcomes are read directly from the order record, the LLM only classifies the ambiguous LOST/NO_RESPONSE cases
- Staged follow-up nudges (1h/24h/72h) after a buying-intent signal goes quiet, with platform-aware compliance — only the first-stage nudge is allowed on Messenger under its 24-hour messaging-window policy, later stages are cancelled there automatically
- Omnichannel webhook ingestion across Messenger, Instagram, WhatsApp, and Telegram, processed asynchronously per request
- Order creation with per-store daily follow-up caps and instant cancellation on any customer reply, order, or opt-out
Need a similar delivery process for your product? I can help shape the scope and ship the implementation end to end.
Start a projectIn Bangladeshi social commerce, customers don't use search bars or SKU codes — they send screenshots and rapid-fire Banglish texts ("ei design ta ache? dam koto?") straight to a seller's Facebook page or WhatsApp. Naive bots fire a completion per message, producing chaotic duplicate replies.
Separately, merchants had no visibility into why conversations weren't converting — a customer who asked about price and vanished looked identical, from the merchant's side, to one who was never going to buy.
Inbound webhooks from all four channels are debounced per-conversation — a 7-second in-memory quiet window merges rapid-fire messages into one prompt before the agent sees them. Product lookups run SQL ILIKE first, falling back to PGVector semantic search over merchant-uploaded catalogs and documents when a Banglish query doesn't match literally. A hand-rolled DeepSeek tool-calling loop handles the conversation, and every order it creates carries a deterministic intent score built from signals the LLM reports but never scores itself — low-intent orders get nudged toward advance payment instead of blind COD.
Underneath the live conversation, a scheduled analyzer classifies each idle conversation for the merchant dashboard — but only the ambiguous outcomes go through an LLM; whether an order actually converted is read straight from the database, not inferred. That feeds a real insights dashboard (funnel, lost-reasons, demand gaps, stockout cost) and a staged follow-up system that nudges quiet-but-interested customers back, respecting each platform's own messaging-window rules.
SellerVai runs as a single AI salesperson across a merchant's Messenger, Instagram, WhatsApp, and Telegram, replying with price, stock, and delivery info from an evolving product catalog and knowledge base. Merchants get a dashboard that explains why conversations are being lost, not just how many closed, and a follow-up system that re-engages the ones that went quiet without crossing platform messaging policies.
Rapid-fire message bursts get one coherent reply instead of several duplicate ones, by construction — the debouncer makes duplicate bot replies structurally impossible, not just less frequent. Merchants get lost-reason, demand-gap, and stockout-cost visibility they didn't have before, computed from real order and conversation data rather than guesswork. The follow-up system re-engages buying-intent conversations that went quiet, without violating Messenger's 24-hour messaging window.