← Back to portfolio

Case study

CRM app — multi-tenant SaaS

Landlord console to create and govern tenants; each tenant runs CRM workflows on its own subdomain behind dedicated middleware.

Laravel 12 Livewire Multi-tenant Subdomains Excel

What it is

Central admin routes manage tenants (suspend, activate, recreate database). Tenant-facing CRM lives behind tenant middleware so requests resolve the correct database and branding. Livewire speeds interactive grids and forms for operators.

Architecture

Request-path split: landlord UI never runs tenant middleware; tenant hostnames always do. Persistence is isolated per tenant (database recreation is an explicit admin action). Auth flows extend Breeze patterns for both sides.

Highlights

  • Strong isolation aids compliance and noisy-neighbour control.
  • Livewire keeps UX responsive without maintaining a separate SPA.
  • Landlord tooling makes tenant lifecycle an explicit product surface.
  • Fits classic B2B SaaS pricing and onboarding flows.