live
BandHub
Preview unavailable Project record remains available below.
One booking platform powering multiple live band brands.
A multi-tenant booking platform for tribute and cover-band discovery, buyer intake, owner workflows, moderation, reviews, inquiries, content operations, analytics, imports, and billing readiness.
Deployments: MZTributeBands
The live tenants are the public reference; the BandHub source repository remains private.
Read case study brief · what i owned · key decisions · what was delivered · evidence · result · implementation
The problem
The work began when a working band business needed its aging backend and public sites replaced. The replacement had to preserve distinct brands without duplicating catalog, funnel, and operations work for every storefront.
What I owned
- Product architecture and full-stack engineering across the shared storefront, catalog, booking funnel, owner tools, administration, imports, and deployment operations.
Key decisions
- Resolve tenants by hostname into database-backed brand, content, and feature configuration instead of forking the application.
- Separate act identity from storefront placement through shared catalog memberships.
- Turn tenant rollouts into a manifest-driven validate, apply, seed, and verify workflow.
- Keep funnel, storefront, catalog, owner SaaS, and internal operations as explicit lanes inside one deployable application and database.
What was delivered
- One Next.js App Router codebase serves multiple public band-booking tenants through site configuration and hostname resolution.
- Includes public directories and profiles, shortlist-aware request flows, submit-act moderation, owner dashboard, admin operations, audit trail, and import tooling.
- Uses PostgreSQL, Drizzle ORM, first-party magic-link auth, Resend email, Cloudflare Turnstile, local media storage/proxy, and optional Stripe billing.
Evidence
- The MZ Tribute Bands production domain visibly runs as a differentiated BandHub storefront on the shared platform.
- Approved MZ captures demonstrate homepage composition, search and filtering, branded collections, profiles, EPK downloads, and booking inquiry surfaces.
- The project record documents repeatable import and tenant-rollout paths for legacy catalogs, packages, posts, and reviews.
Result
- One operated application now serves multiple differentiated public booking brands.
Implementation
- Next.js
- React
- PostgreSQL
- Drizzle
- Multi-tenant
- Next.js
- React
- PostgreSQL
- Drizzle
- Multi-tenant