Revenue Centers
Kettl, 2023—2024
A feature built end to end: data model, tenant migrations, GraphQL API and permissions.
Context
Kettl is production management software for live events. Customers are tenants with years of existing data.
Problem
Customers needed to attribute revenue to centers and connect them to events and production sheets, without breaking data that already existed.
What I did
- Designed the data model and its associations with events and production sheets.
- Wrote migrations for existing tenants and a default assignment for new ones.
- Built the GraphQL schema and resolvers through Prisma to PostgreSQL, with role-based permissions.
- Shipped it as a nine-part rollout so every piece could be reviewed on its own.
Outcome
- Every existing tenant migrated, every new tenant set up by default.
- Nine small pull requests instead of one large one.
Stack
React, Next.js, Apollo GraphQL, Prisma, PostgreSQL
Want to talk about work like this?
I’m happy to go deeper on any of it, including what I’d do differently.