← All case studies

A multi-tenant website platform and the product suite around it

SGEN is the website platform Dispenza runs for its clients. One application instance serves every customer site, and a family of connected products handles the work around those sites: building pages, answering support questions, managing customers, staff and projects.

Ongoing engagement with Dispenza.

ClientSGEN by Dispenza
DisciplineSoftware development
Our roleSolutions architecture: specification, architecture and DevOps
PeriodNov 2023 to present
15+Connected products
1Shared runtime for every tenant site
5 minEndpoint health check interval
90 daysUptime history on the status page
01 / The challenge

Many client websites, each with its own domain, content and media, had to run from one codebase without one tenant's traffic or data touching another's. Around the platform, the agency needed internal tools for sales, support, HR and project delivery, and wanted AI to do real work on the platform without being allowed to break it.

02 / What we built
  • Multi-tenant website builder on Google Cloud Run behind a Traefik reverse proxy, serving every customer site from a single application instance.
  • An MCP server that lets AI agents build SGEN pages through the platform's own HTTP API, with a deterministic render-and-verify loop so correctness never depends on reading a screenshot.
  • A knowledge base that turns uploaded documentation into structured articles with Claude, embeds them locally, and serves hybrid vector and full-text search to a browser-extension help bot.
  • A multi-tenant documentation chat platform: teams ingest their docs and ship them as a conversational assistant over pgvector search, with an admin dashboard and analytics.
  • CRM, HR and project management portals with an Agency, Sub-account and User model, invitation-only access and a shared core library.
  • Central identity provider for single sign-on, with a Stripe app for billing.
  • Operations tooling: a public status page that checks every endpoint each 5 minutes and keeps 90 days of uptime history, a logging API for AI assistant sessions, and a self-hosted n8n automation host.
03 / Stack
Cloud RunCloud SQLTraefikCodeIgniterNext.jsReactDjangoFastifyPostgreSQLpgvectorMySQLClaudeMCPStripen8n
Next project

Have a system to build or fix?

Software, electronics, or both. Your message goes straight to the architect, not a sales team.