
Every WhatsApp, answered.
The AI agent that answers, qualifies and closes inside WhatsApp Business, in three seconds, in ninety-two languages, twenty-four hours a day.
- 3.2sMedian reply
- 92Languages
- 24/7Always on
- 1,450+Commits since April 2025
Product manager and tech lead
I ran Hader from the first spec to a live product: the roadmap, the architecture, the team, and a good share of the code. I shipped features in the API, the portal and the mobile app, reviewed every pull request, and ran the deploys.
- Product spec and roadmap
- System architecture and tenancy model
- API, portal and Flutter app features
- Code review, releases and server deploys
The team I led
- WhatsApp specialist
Meta Business setup, WhatsApp Cloud API, templates and coexistence, green-tick accounts
- AI engineer
The bot engine: grounding on tenant data, intent detection, translation, guided order flows
- Automation engineer
Broadcasts, drip sequences, catalog imports and syncs, scheduled jobs on BullMQ
- Full-stack developer
Next.js portal, Fastify endpoints, Prisma migrations, the operator inbox
Not a chatbot. A command center.
Everything Hader does across WhatsApp, Instagram and Messenger, in one workspace the tenant's team actually likes.
01Dashboard
Conversations, median reply, orders and the share handled by AI, with the week's traffic and top products at a glance.
02Shared inbox
Every chat from every channel lands in one thread. Hader reads the catalog, FAQs and policies, answers in the customer's language in about three seconds, and a human takes over with one tap.
03Analytics
Reply rate, resolution time, busiest hours, revenue by conversation. Forty-plus metrics, live, with CSV and API exports.
04Customer profiles
A living profile for every number: tags, order history, lifetime value and an AI-written persona of what each customer likes and when they buy.
05Orders
A guided flow, not free-form guessing, collects each item, confirms the total and creates a real order the moment the customer says yes. Live statuses, POS sync.
06Bookings
Clinics, salons, restaurants and agencies. Hader checks availability, books the slot, sends reminders and handles reschedules inside the chat.
07Broadcasts and templates
Write a Meta template once, personalise it per customer, preview exactly how it lands, send to thousands from the tenant's own number. Opt-outs honoured automatically.
08By industry
E-commerce, F&B, real estate, clinics, education and B2B. Each gets its own AI trained on a real business, with a live bot to talk to.
09Eight roles
The receptionist, the translator, the closer, the scribe, the dispatcher, the scheduler, the escalator and the night shift. The role shapes itself around the business.
10Ninety-two languages
Detects, translates and replies mid-thread with no plugin. Every message is stored in both languages, so the team and the customer read the same conversation in their own words. Fourteen right-to-left scripts.
11Live demo
Four scripted scenarios on the site: reorder in Arabic and English, book a clinic, where is my order, and an invisible human handoff, with latency, intent and sentiment shown live.
12Pay per conversation
A conversation is a 24-hour window with one customer. Basic, Pro and Enterprise plans by volume, never per seat. SAR and AED billing.
How each piece was built
The platform is one Fastify API, one BullMQ worker and one Next.js portal over a single Postgres, with 47 route modules, 62 portal pages, 79 models and 97 migrations. These are the subsystems that matter and how they work.
- 01
The bot engine
Every reply starts by gathering the tenant's own data, then hybrid retrieval (trigram sparse plus 1536-dimension dense embeddings, fused with reciprocal rank), then a sectioned prompt split for provider caching, then a plan-routed completion. The output passes a ten-step validator pipeline and a grounding gate before it is allowed out, and every reply writes a provenance row saying which facts it used.
- 02
Scripted flows and fast paths
Two layers that skip the LLM entirely: a deterministic node engine for the flows a tenant wants exact (with an optional small-model distress pre-check), and regex fast paths for the questions that never need a model.
- 03
Operator inbox
One thread list for WhatsApp, Messenger and Instagram. History with presigned media, notes, tags and canned replies. An operator reply self-assigns the thread and pauses the bot. Live updates over server-sent events with single-use nonces, plus tenant-defined if-this-then-that rules evaluated on every inbound message.
- 04
Carts, orders and bookings
The draft cart is built by parsing the bot's own "added N × item" sentences, then promoted to a real order on a cart marker. Bookings resolve a spoken slot against computed availability. Payment links are minted per order by a per-tenant provider switch, and three signature-verified webhooks converge on one idempotent mark-as-paid.
- 05
Broadcasts and sequences
CSV, segment or manual audiences are fanned out to one row per recipient, then sent under a per-number token bucket with opt-out, send-window and wallet gates. Drip sequences run on a scheduled tick.
- 06
CRM and ingestion
Contacts with order history, lifetime value and AI-written personas. Catalog comes in by streaming CSV and XLSX import, cron and webhook connectors, a Shopify scrape-review-commit flow and a Playwright crawler, all converging on one org-scoped upsert so the bot sees a catalog change on its next reply.
- 07
Tenancy and row-level security
One seam: every authenticated request runs inside a transaction that sets the database role and the current organisation, and Postgres row-level security does the rest. There are exactly two escape hatches, both gated to head-office admins, and a tenant-isolation test that must pass before any release.
- 08
Auth, wallet and billing
Short-lived access JWT with a rotating httpOnly refresh cookie bound to the device, three roles plus a head-office flag, TOTP, and impersonation for support. A prepaid wallet in integer micro-dollars is charged at send time, with a separate monthly AI-message allowance and dunning.
- 09
Voice, read API and eval
The platform is the brain for an external voicebot: it compiles a budgeted prompt and form config and ingests the call lifecycle. A public read API with per-key rate limits and HMAC-signed outbound webhooks. An eval harness runs golden sets through the real engine with deterministic scorers and an LLM judge.
How it is built
A multi-tenant SaaS: each tenant loads its catalogue, hours, FAQs and policies, connects its official Meta WhatsApp number, and the assistant answers that business's customers using only that tenant's own data.
- API
- Node 22, Fastify, TypeScript. All business logic, Meta webhooks and the bot engine.
- Worker
- BullMQ on Redis 7. Imports, syncs, broadcasts, drip sequences, scheduled ticks.
- Portal
- Next.js 15 App Router with Tailwind. Tenant portal plus the ALIGNED head-office console.
- Data
- PostgreSQL 16 behind PgBouncer, Prisma, row-level security per tenant.
- Mobile
- Flutter for iOS and Android, a pure client of the same API as the web portal.
- Channels
- WhatsApp Cloud API, Messenger, Instagram, phone lines. Shopify, CSV and REST catalog imports.
- Infra
- pnpm workspaces and Turborepo, native systemd units behind Caddy, pull-based deploys with health checks and automatic rollback.
- Quality
- An end-to-end suite with a tenant-isolation gate that must pass before any release.
It speaks like a person who has read the room.
Hader writes like the business’s best front-desk colleague: observant, direct, fast. One customer, one thread.
- Specific.not general.
- Warm.not friendly.
- Direct.not curt.
- Curious.not eager.
- Brief.not cryptic.
- Multilingual.not untranslated.