Skip to content

How we built a white-label SaaS platform

A case study on building a modular CRM + inventory platform with offline-first PWA architecture.

4 min readueb.al Case Study #SaaS #Technology
How we built a white-label SaaS platform
Photo by Carlos Muza
Table of Contents

Building a website is one thing. Building a platform that manages contacts, inventory, agents, and operations, and can be resold under different brands, is another level entirely. Here’s how we approached it.

The challenge

A client needed a unified system to handle:

  • Contact management: thousands of entries with segmentation
  • Inventory tracking: products, parts, stock levels across warehouses
  • Agent/recruiter management: field teams with territory assignments
  • Communication: WhatsApp integration for bulk messaging
  • Administration: audit logs, role-based permissions, SMTP configuration

And critically, it needed to work offline in areas with unreliable connectivity.

Architecture decisions

Why a PWA?

Progressive Web Apps gave us the best of both worlds:

FeatureNative AppPWA
Offline supportYesYes (Service Worker)
Push notificationsYesYes
App store requiredYesNo
Update distributionStore reviewInstant
Development cost2x (iOS + Android)1x
QR code scanningYesYes (Camera API)

For a platform targeting field agents who might be in areas with spotty internet, offline-first wasn’t optional. It was the core requirement.

Service worker strategy

We implemented a cache-first strategy for static assets and a network-first with offline fallback strategy for API data:

Static assets → Cache first, update in background
API responses → Network first, serve cached if offline
Form submissions → Queue offline, sync when connected

This means agents can scan QR codes, update inventory, and log contacts even without internet. Everything syncs when connectivity returns.

Modular design for white-labeling

The platform was designed from day one to be reskinnable:

  • Theme system: colors, logos, and typography configurable per tenant
  • Feature flags: enable/disable modules per deployment
  • Multi-tenant data: isolated data with shared infrastructure
  • Custom domains: each deployment gets its own URL

This makes it possible to deploy the same codebase for completely different businesses, from logistics companies to real estate agencies.

Key technical challenges

Offline conflict resolution

When two agents edit the same contact offline, what happens when both sync?

We implemented a last-write-wins with audit trail approach. Every change is timestamped and logged, and the admin dashboard shows conflicts that may need manual review. It’s not perfect, but for this use case it strikes the right balance between complexity and reliability.

QR code scanning in a browser

Using the device camera for QR scanning in a PWA required careful handling:

  • Camera permissions management
  • Handling multiple camera devices (front/back)
  • Efficient barcode parsing without native libraries
  • Fallback for devices without camera support

This was trickier than expected. Browser camera APIs are inconsistent across devices, and we burned a few days on edge cases with older Android phones.

Bulk WhatsApp messaging

Integrating WhatsApp for group communication meant building:

  • Contact group management
  • Message template system
  • Rate limiting to comply with WhatsApp policies
  • Delivery status tracking

Role-based access control

With multiple user types (admin, agent, recruiter, viewer), we built a permission system that controls:

  • Which modules each role can access
  • Read vs. write permissions per section
  • Data visibility scoping (agents see only their territory)
  • Audit logging for all permission-sensitive actions

Results

The platform now handles:

  • Tens of thousands of contacts with instant search
  • Hundreds of products with stock tracking
  • Multiple agent teams across territories
  • Complete audit trails for compliance

What we’d do differently

  1. Offline-first is hard but worth it. Plan your data model around eventual consistency from day one. We underestimated this initially and had to refactor some early assumptions.
  2. White-labeling needs early planning. Retrofitting multi-tenancy is painful. Bake it in from the start.
  3. Field testing is non-negotiable. Lab conditions never match real-world connectivity. We learned this the hard way with a demo that worked perfectly in the office and failed at the client’s warehouse.
  4. Audit everything. When multiple users modify data offline, you need a clear history. This saved us more than once during dispute resolution.

Could this work for your business?

If your business needs:

  • A custom platform that goes beyond what off-the-shelf SaaS offers
  • Offline capability for field teams
  • The ability to rebrand and resell the solution
  • Full control over your data and infrastructure

Then a custom-built platform might be the right investment. It’s not cheap, and it’s not fast, but for the right use case the ROI is significant.

Get in touch to discuss whether a custom platform makes sense for your use case, or view our portfolio to see more of our work.