← Back to Case Studies

GigWizard Marketplace

Architected and delivered a production two-sided live music marketplace with end-to-end booking flows and secure payments.

Overview

GigWizard is a production two-sided marketplace connecting event organisers with live music performers. I designed and built the platform end-to-end, covering mobile and web clients, backend workflows, payments, and production operations. The system manages the full booking lifecycle, including discovery, offers, confirmations, secure payments, and post-event completion.

Problem & Constraints

The live music booking space is fragmented and largely manual, creating friction and trust issues for both organisers and performers.

  • Complex lifecycle: Bookings progress through multiple states and user actions, requiring strict and predictable state transitions.
  • Trust & safety: Payments needed to be securely held and released only after event completion.
  • Operational simplicity: The system needed to be maintainable by a small team without heavy DevOps overhead.
  • Cost awareness: Infrastructure choices had to keep operating costs predictable at low-to-medium scale.

My Role

I owned both product and technical execution.

  • Defined system architecture, data models, and booking/payment lifecycles.
  • Implemented core application logic across clients and backend workflows.
  • Integrated and operated secure payments.
  • Deployed, monitored, and iterated on the system in production.

System Design

The platform was designed with a serverless-first architecture to reduce operational overhead and simplify scaling.

  • Clients: Mobile-first applications supported by a web interface.
  • Backend: Event-driven serverless workflows handling booking and payment state transitions.
  • State management: Explicit lifecycle states to ensure correctness and recovery.
  • Payments: External payment provider coordinated through asynchronous callbacks and idempotent processing.

Key Decisions & Trade-offs

  • Serverless over always-on services: Reduced infrastructure complexity and operational burden.
  • Explicit state transitions: Chosen to prevent duplicate processing and simplify failure recovery.
  • Eventual consistency: Accepted in non-critical paths to reduce coupling and improve resilience.
  • Custom payment flows: Prioritised full control over user experience at the cost of higher implementation and compliance effort.

Outcome & Learnings

  • Launched successfully with real users and active bookings.
  • Reliable handling of complex booking and payment flows with no integrity issues.
  • Predictable infrastructure costs under real-world usage.
  • Clear operational paths for handling retries, failures, and disputes.

Tech

Flutter · Firebase · Stripe · Next.js