ZapBebidas

A SaaS for beverage distributors: digital catalog and WhatsApp ordering, with a flat monthly fee and no per-order commission.

Context
My own product, live
Started
Type
Full stack
ZapBebidas landing page.

By the numbers

API endpoints
57
PostgreSQL tables
41
automated tests
339
background workers
4
lines of TypeScript
29 k

Counted in the code in Oct 2026.

Architecture

The customer builds the order in the catalog, which calls the Node API. The API writes to PostgreSQL, with every store isolated, and queues work for the workers, which notify the customer on WhatsApp. Mercado Pago confirms payments through a webhook.

The problem

Small distributors sell over WhatsApp, and orders arrive as a mess of voice notes, photos and scattered messages. Marketplaces organize that, but take 12% to 30% of each sale. I wanted to give stores their own channel, on their own link, for a flat fee.

What I built

  • A multi-store platform from scratch, with a shared database and every store isolated from the others.
  • WhatsApp integration through Evolution API: QR code pairing, automatic status messages and a conversations inbox in the dashboard.
  • A real-time order kanban and automatic messages configurable per status.
  • Monthly plans paid through Mercado Pago, already with a paying customer in the pilot.

What I learned

Sending messages straight from the frontend breaks the first time the WhatsApp API hiccups, so messages go through a queue with retries. And the hardest part wasn't code: it was thinking about customers, operations and revenue, not just the nice feature.

gabriel@maciel: ~