Microfrontend & backend-for-frontend architecture
Campaign Suite
A microfrontend and BFF foundation that let the campaign team develop and deploy product features independently.
Business problem
The challenge
Shared application boundaries and tightly coupled delivery made campaign development harder to coordinate across engineers.
Technical solution
Our approach
Federated React UI, typed tRPC BFF, GaryQL SDK and independently deployed containers.
- 01
Bootstrap the foundation
Bootstrapped the MFE/BFF and researched Tailwind, shadcn, Prisma, tRPC, pnpm and Turborepo. Trained the team and established typed campaign queries, schema work, codegen and Storybook.
- 02
Integrate the platform
Built standalone and embedded session handling, GaryQL integration, Select inventory-impression/budget views and remaining-budget queries. Migrated authentication from Clerk to the MNTN SDK with protected tRPC sessions.
- 03
Own delivery
Built Docker/Helm and AWS deployment work, GCP/ArgoCD migration, separate UI/BFF images, QA/production pipelines and temporary PR environments with cleanup. Added typecheck, lint and test gates.
- 04
Simplify the architecture over time
Retired the redundant campaign service, database package and related deployment machinery as system boundaries evolved.
Results & impact
Project outcomes
A microfrontend and BFF foundation that let the campaign team develop and deploy product features independently.
Fewer merge conflicts
Reported outcome of introducing microfrontend and BFF boundaries.
Architecture and delivery
Foundation, authenticated integrations, team onboarding and CI/CD ownership.
Visual assets
How the workflow fits together
Campaign Suite
flowchart TD A["Premier UI host"] --> B["Campaign microfrontend"] B --> C["Authenticated tRPC BFF"] C --> D["GaryQL SDK"] D --> E["Platform services"]
Tech stack
Technology and ownership.
Bootstrapped and led the campaign MFE/BFF work, deployment and team training within a shared engineering effort.