Case study

From zero to $1M ARR: building an omnichannel SaaS

The story of how an omnichannel CRM was conceived, architected and scaled — with product and engineering decisions driven by perceived value.

1M+
in annual recurring revenue
7+
critical integrations in production
100%
of the cycle — from Figma to production
01Context

A market that talks on every channel

Sales and support teams talk to customers over WhatsApp, Instagram, phone and email — but managed it all in separate tools, losing context, history and opportunities along the way.

The proposal: an omnichannel CRM SaaS with centralized support, workflow automation and marketing/sales funnel management — one place where conversations become revenue.

02Conception

From Figma to architecture

The product was designed before it was coded: journeys, screens and a design system in Figma, tested against the question that guides everything — does this increase the user's perceived value?

In parallel, the technical foundation was chosen to sustain growth without a rewrite: multi-tenant architecture, asynchronous messaging and a lean, productive stack.

  • Journeys and design system in Figma before the first line of code
  • Multi-tenant architecture designed to scale per customer
  • Stack: React, Node.js, TypeScript, Redis and Express
03Build

A multi-channel messaging architecture

The heart of the product is a single message pipeline: every channel — official WhatsApp API, Instagram, VoIP via Twilio — flows through the same path, with queues and workers absorbing spikes without dropping events.

Every external integration was treated as a first-class citizen: idempotent webhooks, retries with backoff and clear contracts between services.

  • Official WhatsApp API, Instagram and VoIP telephony (Twilio) in one pipeline
  • Redis-backed queues to absorb spikes and guarantee reprocessing
  • Idempotent webhooks and backoff retries across all integrations
04Scale

Scaling without losing a single message

In a customer-service product, a lost message is a lost customer. Concurrency was handled with per-conversation ordering guarantees and parallel processing across conversations.

Observability became a discipline: metrics, structured logs and end-to-end alerts — to find the root cause before the customer feels the symptom.

  • Guaranteed ordering per conversation, parallelism across conversations
  • Metrics, structured logs and end-to-end alerts
  • Analytics dashboards that stay fast under heavy volume
05Product

Perceived value in every detail

Acting as PO and developer at once, every feature starts from the user journey — not the ticket. The most complete example: a marketing tracking module conceived and implemented end to end.

From concept to deploy: visitor and lead monitoring, conversion journeys and campaign attribution inside the CRM, integrated with Meta Ads and Google.

  • Marketing attribution module integrated with Meta Ads and Google
  • Conversion journeys and lead monitoring inside the CRM
  • Dashboards and reports that drive decisions, not decoration
06Outcome

$1M ARR — and the lessons that remain

The product crossed seven figures in annual recurring revenue, with a growing customer base and thousands of conversations flowing through the pipeline every day.

Three lessons I carry into any product:

  1. 1Product is perceived value — users don't buy architecture, they buy the experience it sustains.
  2. 2Scale is discipline, not accident: queues, idempotency and observability are day-one decisions.
  3. 3The detail is the product: UX, latency and reliability are the brand that lasts.

Want to talk product and engineering?