PHEN
← All case studies

// Case Study

BD Performing Arts

ONE PLATFORM.
FOUR VENDORS GONE.
$350K NEW REVENUE.

Replaced a Frankenstein of event tools with one custom platform. Auditions, ticketing, scheduling, housing, and payments all sit behind one user profile.

PlatformOperationsRevenue

// Role

Architect, PM, Designer, FE Dev

// Team

Self + 1 backend dev

// Launched

May 2025

// Scope

Full custom platform

// The Challenge

Four tools
& logins.

Four sets
of fees.

BDPA had a website for event hosting, but everything around it lived elsewhere. Auditions on Eventbrite. Ticketing on TicketSpice. Agreements through DocuSign. Check-in on a separate QR app. Staff scheduling and housing in spreadsheets.

Families juggled four logins and four inboxes. Staff reconciled across platforms by hand. The org paid platform fees on every transaction. That was money that should have stayed in the building.

TICKETSPICETICKETINGEVENTBRITEREGISTRATIONDOCUSIGNAGREEMENTSQR APPCHECK-INBDPA PLATFORMONE LOGIN · ONE DATABASE
// Four vendors. One platform.

// The Bet

The integration math didn't pencil.

I priced the integrated path first: wire the four tools together with APIs and middleware. The math didn't work. Integration layers don't eliminate platform fees, they add to them. We'd still pay per-transaction cuts forever to companies that didn't know our org.

So we built it. One codebase, one database, one user profile that follows a family from audition signup through payment, housing, and event-day check-in.

// What I Built

I owned architecture, PM, UX, visual design, front-end, and QA. One backend developer handled the server side. I directed scope and integration.

Unified user profile

One account for every family, performer, and ticket buyer. Audition status, agreements, payments, tickets, and housing under one login.

Audition registration & agreements

Registration with signature capture baked in. Replaces Eventbrite and DocuSign.

Ticketing & payments

Direct payment processing. No per-ticket vendor cut. Fee revenue flows to BDPA.

Ticket management

Box office console: transfers, comps, refunds, resends, order edits. Four vendor portals collapsed into one.

Ticket scanner & check-in

Native QR scanning. Scans hit our database in real time and feed the live dashboard.

Executive real-time dashboard

Live event-floor view: ticket-sale velocity, gross and net fee revenue, scans per minute, house capacity, by-tier breakdown, refunds and voids, payment-method mix, and event-day choke points. Every metric a TicketSpice or Eventbrite dashboard surfaces — plus the ones they don't.

Staff scheduling

Shifts, availability, and event-day coverage with role-based views.

Housing assignments

Room, roommate, and check-in details tied to the performer's profile.

// What I Built · system viewPROTOTYPE

Same eight modules — drawn as a system instead of a card grid. The council's design engineer argued a hub-and-spoke view visually proves the "one database" claim the prose keeps making. Compare with the grid above; we'll cut whichever loses.

UNIFIED PROFILEONE DATABASEAUDITION REG→ SIGNS AGREEMENTTICKETING→ TICKETS PAIDTICKET MGMT→ ORDER EDITSSCANNER→ SCAN EVENTSHOUSING→ ROOM ASSIGNSSTAFF SCHED→ SHIFT ASSIGNSEXEC DASHBOARD→ LIVE METRICS
// One database. Seven modules. Every event writes to the same profile.

// The Payoff

$2.5M

Sales processed

$350K

New fee revenue captured

$1.4M

Year-1 profit

// One year after launch

MetricBeforeAfterΔ
Platforms / vendors4 (TicketSpice, Eventbrite, DocuSign, QR app)1 (in-house)−75%
Annual platform & API fees~$50k$0−$50k / yr
Sales processed (annual)$2.5MNew capability
New fee revenue captured (annual)$0 (paid to vendors)$350K+$350K / yr
Year-1 profit$1.4M56% margin
User experience4 logins, 4 inboxesOne profile, one loginUnified

BDPA processed $2.5M in ticket sales and netted $1.4M in year-1 profit. $350K of that came from fee revenue the platform captured — money that used to leave the building as vendor cuts on every transaction. Add ~$50k in killed platform subscription fees, and the build paid for itself in year one. The platform now runs as a profit center.

// Reflection

// What worked

Holding architecture, UX, and front-end in one head cut the translation loss between roles. When a feature needed to flex, I moved it without three handoffs. With a one-developer team, that compression was the only way to ship.

// What I'd do differently

Push back harder on the timeline. We shipped on time, but with a longer runway I'd have hardened each module before the next came online, instead of stacking them and patching forward.

// How I operate

Every per-transaction fee is overhead the mission never sees. When the math says build, I build. For sub-$500k builds at small orgs, holding multiple roles is the operating model — not a workaround.

Hire me, or hire the playbook →