SaaS Tool · 2026
A multi-tenant WhatsApp operations panel where each business connects its own WhatsApp Business account, built and run at Ant Arge.
Year
Type
Role
Tech Stack
AntApp is a WhatsApp operations panel for businesses, built at Ant Arge on the official Meta WhatsApp Cloud API. Each business connects its own WhatsApp Business account and becomes a separate tenant, with its own contacts, templates, campaigns and message history. Teams answer customers from a shared inbox, manage contacts, sync approved templates and run broadcast campaigns. A platform admin console covers users, tenants, API keys, deliveries and an audit log. A companion WordPress plugin lets WooCommerce stores send order and shipping updates over WhatsApp without writing code.
All tenants share one Meta webhook URL. Each request passes an HMAC-SHA256 signature check, is matched to its business by phone number ID and is handled in that tenant's context, and incoming messages are stored idempotently. Delivery states (sent, delivered, read, failed) and per-message pricing are written back to Postgres, and the inbox updates live over server-sent events. The app runs as a long-lived Node process on Coolify behind Cloudflare, and its background workers resume after a restart.
Incoming and outgoing messages are grouped into one chat per contact. The team can reply directly or send an approved template, and the inbox updates live over server-sent events.
Choose a template and a recipient segment, then follow the queue on a live monitor while the sender applies delays, cooldowns, daily limits and sending hours.
CSV, TSV and XLSX import, CSV export, tags, consent status, notes and a blacklist.
Templates with name, phone and company variables, kept in sync with Meta's message templates.
Replies such as STOP, IPTAL or DUR add the contact to the blacklist automatically.
A PHP plugin, compatible with HPOS and Checkout Blocks, that sends order status and shipping events. It can also embed the panel in wp-admin through a short-lived signed frame.
GET answers Meta's verify-token handshake. POST checks x-hub-signature-256 with a timing-safe HMAC comparison, resolves the tenant from phone_number_id and writes messages idempotently.
Cloud API statuses map to sent, delivered, read and failed timestamps, along with attempt counts, pricing model and a billable flag. The same statuses flow back to WooCommerce event records.
22 Postgres tables managed with Drizzle, all scoped by tenant ID with composite indexes. Store secrets are encrypted with AES-256-GCM, and plugin requests are signed with HMAC-SHA256.
A long-lived Node process on Coolify behind Cloudflare, with health checks. The WhatsApp service and the WooCommerce worker resume automatically after a restart.
Have a project in mind or a question about my work? Email or LinkedIn is the best way to reach me.