Back to the homepageOmarAR

Full-stack & Meta integration case study · 2026

From disconnected customer messagesto one operational flow.

FAYA CFlow is a bilingual, multi-tenant customer communications platform. It connects WhatsApp Business through Meta’s official Cloud API with a shared team inbox, contacts, campaigns, automations, analytics, AI-assisted handling, event invitations, and developer APIs.

Live production platformView FAYA CFlow
Role
Full-stack engineer & launch owner
Ownership
Execution, Meta integration & production launch
Platform
Bilingual multi-tenant Web SaaS
Status
Live at cflow.faya.dev

Codebase evidence

Audited from the production repository on 8 Sep 2026; no customer or revenue figures are used.
70
Product & content pages
156
API route handlers
54
Data models
8
Background workers

01 / The challenge

Customer communication needed to become an operating system.

Business conversations were no longer a one-person inbox problem. Teams needed shared ownership, contact context, campaign delivery, approvals, automation, and reliable status tracking without losing the immediacy of WhatsApp.

The difficult part was not drawing another inbox. It was turning Meta onboarding, webhook security, the 24-hour messaging window, approved templates, asynchronous delivery, multi-tenant permissions, and failure recovery into one product that a team could actually operate.

A

Official Meta connectivity

Every phone, business account, subscription, template, webhook, and delivery state had to follow the real Meta platform lifecycle.

B

One shared customer context

Messages, contacts, owners, tags, journeys, orders, and history needed to stay connected across the team.

C

Automation without fragility

Campaigns and branched flows had to survive retries, duplicates, provider failures, business hours, and human handoff.

D

A safe multi-tenant product

Each workspace required isolated data, role-based access, auditable actions, protected credentials, and production-ready operations.

02 / The product

Four connected layers turned messages into managed work.

I took over the product during implementation and carried it through integration, hardening, and launch. The system was shaped around the full customer-contact lifecycle instead of isolated features.
  1. 01

    Connect Meta channels

    Embedded Signup and manual onboarding verify the phone, register the number, subscribe the WABA to platform webhooks, and support WhatsApp Business App coexistence with contact and history synchronization.

  2. 02

    Operate the shared inbox

    A team inbox brings together assignments, unread state, media, reactions, replies, contact timelines, tags, customer journeys, and the active 24-hour service window.

  3. 03

    Automate and scale

    Broadcasts, approved templates, branched interactive menus, business-hours rules, reminders, retries, delivery analytics, AI handling, and human handoff operate on the same conversation data.

  4. 04

    Extend beyond the inbox

    Event registration with timed QR invitations, OTP and order-notification APIs, ERP chat synchronization, loyalty, UGC, analytics, and admin controls extend the platform into wider business workflows.

03 / System architecture

Provider events enter once and become durable product state.

Meta and external systems are treated as untrusted boundaries. Requests are verified, normalized, stored idempotently, and dispatched to background workers so the interface remains fast while delivery and automation continue reliably.

01Meta & external systems
02Verified webhooks
03Queues & domain services
04Inbox, automation & analytics

BullMQ workers · status webhooks · idempotent message writes · SSE & Web Push

04 / Critical decisions

The integration was designed as product infrastructure.

Meta onboarding as a guided flow

Preflight confirmations, phone verification, registration, WABA subscription, profile retrieval, and coexistence synchronization are handled as one controlled setup journey.

Embedded Signup · phone verification · WABA subscription · coexistence sync

Verified, asynchronous messaging

Webhook signatures are checked before processing. Provider message IDs prevent duplicate storage, while queues, retries, status updates, and failure details keep delivery observable.

HMAC verification · idempotent writes · delivery states · retry paths

Isolation before convenience

Tenant-scoped data access, memberships, permission overrides, two-factor authentication, audit logs, and protected provider credentials establish the platform’s security boundary.

Tenant scope · RBAC · 2FA · audit trail · secret protection

Execution through launch

I owned the work from an in-progress codebase through Meta integration, production hardening, deployment packaging, live-domain rollout, analytics, SEO operations, and post-launch fixes.

Monorepo delivery · Docker release · live operations · iterative fixes

05 / Technology

A stack for real-time, integration-heavy SaaS.

Product interface

  • Next.js 15
  • React 18
  • TypeScript
  • Tailwind CSS
  • Radix UI
  • Arabic / English

Data & background work

  • PostgreSQL
  • Prisma
  • Redis
  • BullMQ
  • MinIO / S3
  • Turborepo

Channels & integrations

  • Meta Cloud API
  • WhatsApp Webhooks
  • Embedded Signup
  • Instagram / Facebook
  • FAYA ERP
  • REST APIs

Intelligence & operations

  • AI reply gateway
  • Local Whisper
  • Web Push
  • Vitest
  • Docker
  • Production monitoring

06 / The result

An in-progress system became a live customer-operations platform.

FAYA CFlow reached production as a connected product: teams can link an official Meta channel, receive and manage conversations, organize contacts, launch campaigns, build automations, follow delivery, and extend the same data into events and external systems.
  • End-to-end Meta connection from onboarding and WABA subscription to signed webhooks and message-status tracking.
  • One operational workspace for conversations, contacts, campaigns, templates, automations, analytics, and team ownership.
  • Durable background processing for inbound events, outbound delivery, synchronization, reminders, and scheduled journeys.
  • A production launch supported by a structured monorepo, documented integrations, deployment packaging, and ongoing refinement.

This case study does not disclose tenant records, customer conversations, access credentials, revenue, or private adoption figures.