Multi-Tenant Membership Benefits Platform
2022 – Present[1]. See reference 1A benefits platform for multiple organizations, rebuilt from seven services into a modular monolith that handles the production workload with less operational overhead.
Problem · Solution · Stack · Outcome
- Problem
- Each organization needed its own storefront, domain, catalogue, pricing, branding, and access rules. At the same time, benefits had to be issued and redeemed through one shared platform.
- Solution
- The first build used seven microservices around Kafka and a DynamoDB event store because that architecture was part of the project brief. Once it was live, production data showed that the distributed setup added coordination and operational cost without giving us a meaningful scaling advantage. Too much time was going into order sagas, outbox pollers, and cross-service authentication. I led the rebuild as a modular monolith using Next.js and MySQL. The old service boundaries now live as module boundaries, background work runs separately, and the request hostname determines which tenant to load.
- Tech Stack
- Next.js · TypeScript · MySQL · Drizzle · AWS · Multi-Tenant
- Outcome
- The modular monolith now handles the platform’s production workload from one deployment while each organization still gets its own domain and storefront. The system is easier for a small team to operate and continues to ship. Because the client work is private, the public demo rebuilds the tenant routing, catalogues, and theming.