Skip to content
Daniel Batista
Back to the portfolio

Co-founded product · in production

SOLAR.IA: the whole team selling on the same WhatsApp

A support and sales system for companies where several people share the same number. From product to infrastructure, through screens, back end and AI. Here's how it works under the hood and what I learned along the way.

The problem

Every company that sells on WhatsApp hits the same wall: one number, several people and no control.

What it does

Under the hood

The part the client never sees, but that holds everything together.

  1. Chatwoot as an invisible engine

    Conversations run on Chatwoot, but nobody sees its screens: each company gets its own account, created automatically. Community edition only, MIT licensed.

  2. A Go BFF in the middle

    The Next.js front end talks to a Go BFF that holds the rules, permissions and integrations. SQL is handwritten and sqlc generates the typed code.

  3. AI with the client's own key

    Each company uses its own AI key, stored encrypted and never sent back to the browser. Audio transcription runs on the server itself.

  4. Three-level white label

    Platform, partner and client, each with its own brand, domains and plans.

  5. One company can't see another

    Isolation has its own integration test: two workspaces in the same database trying to reach 11 kinds of each other's resources.

  6. Security and privacy built in

    Sessions that detect a stolen cookie, mandatory 2FA for admins, SSRF protection, rate limiting and export or deletion of a contact's data.

  7. Backups that get checked

    A daily database dump, ready to be copied off the server. If a backup fails, older ones are never deleted and the service reports itself as unhealthy.

Stack

  • Next.js
  • Go
  • Chatwoot
  • Evolution API
  • OpenAI
  • Whisper
  • PostgreSQL
  • Redis
  • WebSocket
  • MCP

What went wrong and how I fixed it

Not everything worked the first time. These were the stumbles that taught the most.

By the numbers

Want something like this for your business?

It doesn't have to be SOLAR.IA-sized. Tell me the problem and I'll tell you what makes sense.

Message me on WhatsApp