Skip to content
SHSulaiman HassanSoftware Engineer
← All articles
·2 min read

One Backend, Three Brands: Designing a Multi-Tenant Web Ecosystem

Notes on architecting three branded production sites off a shared, decoupled backend with real-time CRM sync.

ReactNode.jsArchitectureZoho CRM

Cloud Partners needed three distinct, branded web presences — a company portal, a Google Solutions site, and a Zoho Solutions site — without tripling the operational overhead of running three separate stacks.

The constraint that shaped the architecture

The real requirement wasn't "build three websites." It was: three regional frontends, each with independent branding and email routing, but a single point of control for content and lead management. That constraint ruled out simply spinning up three unrelated projects.

The solution was a decoupled multi-domain architecture: one shared backend, three distinct frontends, unified by a centralized admin dashboard.

Real-time CRM sync as the connective tissue

Every domain — cloudpartners.biz, googleapps.lk, zohocloud.lk — needed its own lead capture forms, but all of them had to land in Zoho CRM instantly, with zero manual re-entry.

Custom middleware and API endpoints handle this: inbound form submissions from any domain sync directly into the correct Zoho CRM modules the moment they're submitted, eliminating the lag (and the copy-paste errors) that come with manual lead entry.

A single dashboard for three sites

The other piece non-technical stakeholders actually cared about was visibility. Rather than logging into three separate admin panels, the team gets one centralized dashboard to manage content updates, monitor lead funnels, and track operational metrics across all three domains.

Routing that respects domain boundaries

Even with a shared backend, inquiries still need to land in the right inbox. Custom form logic paired with domain-specific SMTP configuration ensures a lead from googleapps.lk reaches the Google Solutions team, not the general company inbox — while still logging identically into the shared CRM.

What this bought in practice

Segmenting services onto dedicated local domains improved regional search authority and user trust — each site reads as a focused, credible destination rather than a generic subpage. Meanwhile, the shared backend meant none of that came at the cost of fragmented operations.

Tech stack: React, Node.js, Express, Zoho REST API, Zoho Creator/Deluge, SMTP/DNS, GCP.