Skip to content
Back to work
Own product · Multi-tenant SaaSIn production2025

PideBot

A WhatsApp bot that takes the order and collects payment for the restaurant, 24/7.

Customers message the same WhatsApp number as always. The bot builds the order against the real menu, charges through Nequi, and drops it on the kitchen dashboard — with nobody sitting there watching the phone.

EFEl FogónWhatsApp

Buenas, me regalas 2 bandejas paisas 🙌

Listo. 2 × Bandeja paisa — $56.000. ¿Te lo confirmo?

Sí, confirma

menú → totalrecalculado en Postgres
orden #1042creada
Nequi / Wompipagado ✓

The problem

Small restaurants take WhatsApp orders by hand: someone has to read, transcribe, add up the total, and chase the transfer. At lunch rush that falls apart. And pointing a loose language model at that conversation is a real risk — it can invent a dish or quote a price that doesn't exist.

Engineering decisions

  1. The model never sets a price

    The conversation engine uses tool calling to propose an order, but totals are always recalculated from the menu rows in Postgres. The order is only created on an explicit customer confirmation.

  2. The webhook never does the slow work

    Meta and Wompi webhooks enqueue onto Redis and answer immediately; a separate worker process makes the model call and the writes. Meta times out in seconds — the heavy work cannot live inside that request.

  3. Multi-tenant from the schema up

    Every business table carries tenantId. One API serves every restaurant, and isolation is a property of the data model rather than a convention someone has to remember on each query.

  4. Automatic Nequi collection

    Wompi integration: the charge is created, and the payment webhook is what advances order state. The restaurant stops chasing customers for a screenshot of the transfer.

  5. Kitchen dashboard

    A Next.js panel over the same tables the bot uses: notifications inbox, live orders, menu editing, payment status.

Stack

Node.jsTypeScriptFastifyPostgreSQLPrismaRedisBullMQNext.jsWhatsApp Cloud APIWompiClaude APIDocker

Next project

Tendero

Inventory, sales and barcode scanning for a corner store. All from a phone.