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.

The Revenue Centers data model and its nine-part rollout.

What I did

  1. Designed the data model and its associations with events and production sheets.
  2. Wrote migrations for existing tenants and a default assignment for new ones.
  3. Built the GraphQL schema and resolvers through Prisma to PostgreSQL, with role-based permissions.
  4. 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.