Case study · B2B SaaS

A CRM that many companies share safely: contacts, deals, invoicing, tickets, telephony and automation, each workspace sealed off from the next.

  • ~100database tables
  • 25+product modules
  • 1shared codebase for every tenant

The problem

The product had to serve many companies from one system without any chance of one workspace seeing another. It also needed to grow module by module without the schema turning into a tangle.

What we built

  1. 01

    A Hono API on Cloudflare Workers with a React 19 front end, Supabase Postgres and R2 for files.

  2. 02

    A modular schema of roughly 100 tables across 25+ modules, with workspace isolation, soft deletes and numbered, repeatable migrations.

  3. 03

    Role-based access through workspace permission sets, and a guided workspace setup with localisation and monthly or yearly plans.

  4. 04

    One component library as the single source of truth for the interface, enforced by automated design and architecture reviews.

The result

Every new module plugs into the same isolation and permission model, so the product can grow without re-checking security from scratch.

Contact

Have something to build? Tell us about it. A senior engineer reads every message and replies within one business day.