Skip to content
BOTTLENECK THEORY
All work

Case study · BoothIQ

A configurable business platform built around photo-booth operations.

A multi-tenant SaaS application connecting leads, quotes, bookings, contracts, payments, equipment availability, and client communication. Operators manage their own offerings, pricing rules, branding, templates, and supported automation settings.

Built for
Founder's SaaS product for photo-booth operators
Technology
Next.js · React · TypeScript · Tailwind CSS · Firebase Authentication/Firestore/Storage · Stripe · Email integrations · MCP · Netlify

A booking involves more than a date

Photo-booth businesses coordinate a chain of related work: capturing an inquiry, choosing a package, preparing a quote, confirming availability, sending an agreement, collecting payments, and preparing for the event.

Availability is also a resource question. A business may own several booth units but share a limited number of printers, backdrops, or other equipment between them. A package can look available on the calendar while the equipment needed to deliver it is already committed.

I built BoothIQ around those operating requirements, with separate workspaces for the businesses using the platform and a client-facing experience for their customers.

Finding the bottleneck

The core challenge was keeping the sales workflow connected to the work required to fulfill a booking. Packages, optional add-ons, payment terms, equipment requirements, and availability all affect the same event.

A reusable product also needs to accommodate differences between operators. Each business has its own services, stock, branding, prices, templates, and policies. Those differences needed to be configurable through the product so supporting another business would not require a separate custom build.

What I built

I designed and developed BoothIQ as a multi-tenant application with operator workspaces, client portals, public booking tools, and platform administration.

  • Lead and booking management

    Capture and organize inquiries, convert leads into bookings, maintain client and venue records, and manage event information through a shared workflow.

  • Configurable catalog

    Define booth types, physical booth units, packages, features, optional add-ons, equipment, and backdrops. The catalog distinguishes what is sold from the resources required to deliver it.

  • Resource-aware availability

    Reservation logic considers booth units, equipment quantities, booking windows, and compatible options when assigning resources. This models operational constraints beyond whether a date has a booking.

  • Quotes and public tools

    Configurable lead forms, availability tools, package displays, instant-quote tools, and a public landing page that operators can use alongside their existing web presence.

  • Contracts and payments

    Contract generation and client signing workflows, payment records, deposits and balances, and connected payment integrations. Manual payment recording includes server-side transaction handling and duplicate-submission checks.

  • Branded client experience

    Operator-specific portal branding, supported custom URL paths, booking information, and customer-facing workflows.

  • Email and optional automation

    Editable client templates and opt-in lifecycle messages for booking confirmations, payment receipts, event reminders, and post-event follow-up. Operators control the supported automation settings.

  • Business administration

    Financial views, invoices, expenses, staff tools, onboarding, and platform subscription workflows.

Built for operators to configure

Operators can maintain their own business details, packages, prices, equipment quantities, booth units, backdrops, and blackout dates through the application.

Pricing controls cover supported travel fees, idle-hour rates, deposit policies, discount presets, and quote validity. Booking rules support minimum notice, advance-booking limits, and setup and teardown buffers. Portal controls cover themes, logos, colors, fonts, and supported URL customization. Email settings cover the sending setup, templates, automation choices, and reminder timing.

These are product controls backed by saved configuration. Operators can adapt the supported settings to their business without requesting application-code changes or a deployment.

That flexibility is central to the product: one business can change its deposit policy or add a booth unit while another updates its branding and packages, each within its own workspace.

An additional way to work through AI tools

I also built an authenticated MCP integration that exposes supported booking, lead, financial, contract, and email operations to compatible AI clients.

The integration connects to the application's existing business operations and derives the organization context from authentication. It provides an additional way to work with the platform's records and supported actions through an AI interface.

What the platform enables

BoothIQ brings the sales process, booking records, resource constraints, client experience, and communication settings into one configurable product.

The result is an application designed to support multiple businesses with a shared foundation while giving each operator control over its own offerings and operating details. It demonstrates the work required to turn a domain-specific workflow into reusable software: configuration, resource modeling, data separation, integrations, and customer-facing interfaces.

My contribution

I translated photo-booth operating requirements into the product's workflows, data model, operator interfaces, client portal, catalog and reservation logic, payment and email integrations, configuration tools, and AI integration. The work also included onboarding, platform administration, and automated checks for core business rules.

Let's build software around the way your industry works.

Describe what’s getting in the way, or what you need built. You don’t need a finished spec to start.