Charlat — WhatsApp agents for businesses
A business connects its WhatsApp number through Meta Embedded Signup and gets an agent that answers only from what that business knows: its documents, catalog, opening hours, and bookings. When the answer isn't there, the conversation goes to a person on the team.
Built for small and medium businesses in Argentina.
What I did
- Designed the answer pipeline around three gates: a retrieval floor, an explicit hand-off-to-a-human tool, and a cheaper model that checks each answer against its sources before it goes out.
- Questions the agent can't answer are logged as knowledge gaps, so each business sees what to add next.
- AI providers (LLM, embeddings, reranker) are chosen per role and per business from the database, with keys encrypted under AES-256-GCM and master keys that rotate without downtime.
- Wrote its own billing engine on top of Mobbex: subscription states, proration, and retries for failed payments.
- Runs on Docker Compose on a VPS behind Cloudflare, with infrastructure in SST and CI that deploys with rollback and a backup before every migration. Integration tests run against real Postgres.
Outcome
Deployed and working toward its first customers.
Node.js · Hono · React · Postgres · BullMQ · Qdrant · Cloudflare · SST