Back to work
Production (chatbot runtime in development)2025–2026Founder & Full-Stack Engineer78% complete

SimpliDeliver

A production-grade multi-channel CRM and customer-messaging platform — 5 messaging channels, in-WhatsApp payments, and a visual chatbot builder, all in one inbox.

Summary

SimpliDeliver is a unified customer-messaging and CRM platform that bridges WhatsApp Business (Cloud API), WhatsApp Personal (Baileys), Zalo Personal (zca-js), Zalo Official Account, Facebook Messenger, and Instagram DM into a single real-time inbox. It ships with native in-WhatsApp payments via Meta's Payment Hub, a ReactFlow-based visual chatbot builder, AI-assisted reply and flow generation (Claude), a country-aware campaign engine, and ecommerce connectors for Shopee and Shopify (with all three mandated GDPR webhooks). Built end-to-end over ~14 months — 208k LOC, 239 API routes, 503 React components, 112 Postgres models + 16 MongoDB collections — the same surface area that scope-comparable SaaS products (WATI, AiSensy, Gallabox, Twilio Engage) staff with 80–500 engineers.

Target user

Indian SMBs and creators with paid audiences (financial educators, course sellers, community operators) who outgrew personal WhatsApp and need a multi-channel inbox, CRM, campaign engine, and in-chat payments — without paying for a 100-engineer SaaS like WATI or AiSensy.

§ 01Stack
01Primary
Next.jsTypeScriptReactPostgreSQLMongoDB
02Infrastructure
AWS S3AWS SQSAWS LambdaAWS EventBridgeAWS CloudWatchRedisMongoDB GridFSDocker ComposeTerraformProxySQLNginx
03Integrations
WhatsApp Cloud APIBaileyszca-jsZalo Open APIFacebook MessengerInstagram DirectShopee Open APIShopify Admin REST + GraphQLRazorpay / PayU / BillDesk / CashfreeAnthropic Claude
04UI / Frontend
Tailwind CSSShadcn UIRadix UIFramer MotionGSAPReactFlowTanStack Query/Table/VirtualRechartsd3-geo + react-simple-mapsDexieSocket.IO 4.8 client
§ 02Key features
  1. 01

    Unified five-channel inbox (WA Cloud, WA Personal via Baileys, Zalo Personal via zca-js, Messenger, IG DM) with per-channel send routing, typing indicators, reactions, and message-recall semantics

  2. 02

    Native in-WhatsApp payments using Meta's `interactive.order_details` flow integrated with Razorpay/PayU/BillDesk/Cashfree via Meta Payments Hub — customer never leaves the chat

  3. 03

    ReactFlow visual chatbot builder with drag-and-drop nodes (trigger/message/decision/AI/integration), variable storage, Claude-powered natural-language flow generation, and a multi-flow Journey Manager

  4. 04

    Campaign engine with country-wise cost estimation, scheduled batched dispatch, geographic analytics on a d3-geo world map, and button-click + conversion attribution

  5. 05

    Full CRM panel inside the inbox — customer profiles linked across channels, notes, tags, per-customer template library, calendar, order timelines from ecommerce + WhatsApp payments, and a Claude-powered reply assistant

  6. 06

    Shopify integration with all three mandated GDPR webhooks (data request, customer redact, shop redact), multi-store OAuth, REST + GraphQL order sync, and webhook-secret rotation

  7. 07

    Hybrid 4-database persistence (Postgres / Mongo / Redis / GridFS + S3) fronted by ProxySQL for connection pooling, with an async S3 + SQS + Lambda + EventBridge pipeline for history-sync overflow

  8. 08

    Multi-agent / team workspace with role-based permissions, per-page permission mapping, per-agent budget allocation with approval requests, and a fully archived audit log

§ 03Hardest problems
§ 04What I learned
  • L01
    Scope-led positioning is a sales-side problem, not an engineering one — building a superset of a competitor's product doesn't sell it.

    The platform's homepage put nine concepts in one sentence and lets every buyer bounce because they each see only one-ninth of what they came for. Lesson: pick one specific pain on the front page even when the engine is general-purpose.

  • L02
    Hybrid persistence pays off when the workloads are genuinely different — Postgres for structured CRM/templates/campaigns/billing, Mongo for the chat-message firehose and webhook event ledgers, Redis for session warmup and CRM-panel cache, GridFS+S3 split for media. Letting each shape pick its DB beat forcing one engine to do everything.

  • L03
    Building the editor before the runtime is a trap — the chatbot builder ships a polished 2.8k-line ReactFlow UI but the execution engine that actually routes inbound messages through the active flow is still in development. Lesson: ship the runtime first (even ugly), then dress it up.

§ 05By the numbers
lines of code
208372
typescript files
1298
react components
503
api routes
239
app pages
33
postgres models
112
prisma schema files
18
postgres migrations
5
mongo collections
16
git commits
919
build duration months
14
team size
1
messaging channels
5
webhook integrations
6
oauth integrations
5