Case Study — SaaS · Payments
DameTicket — Production SaaS ticketing platform
Designed and shipped a production SaaS ticketing platform with real Stripe payment workflows, authentication, and SQL-backed data integrity. Built end-to-end as a solo engineer: schema, API, payment flow, and UI.
- Next.js
- TypeScript
- Prisma
- MySQL
- Stripe
- React
- NextAuth
Overview
DameTicket is a SaaS ticketing product I designed and shipped end-to-end. The goal was to let event organizers create paid events, sell tickets online, and manage attendees without depending on a third-party marketplace that takes 8-10% per transaction.
The platform runs in production with real Stripe payment flows, persistent order history, and a relational data model that survives concurrent purchase pressure on popular events.
What I built
- Stripe Checkout integration with server-side payment intents, webhook verification, and idempotent order processing — no duplicate charges if the webhook fires twice.
- Prisma + MySQL schema designed for ticket inventory under concurrent purchases (transaction-wrapped seat allocation, no overselling on hot events).
- Authentication and authorization flows for event organizers and buyers, including session-aware order history and email-based ticket delivery.
- Multi-step event creation UI with image upload, ticket tier configuration, and capacity limits.
- Production deployment with environment isolation, automated migrations, and a Stripe test/live mode switch tied to the deployment environment.
Why this mattered
DameTicket was a real-money product, not a portfolio toy. Building the payment path correctly meant getting Stripe's signed webhook verification right, handling failed payment retries cleanly, reconciling charge IDs to order rows in the database, and never letting a race condition double-sell a seat.
The interesting engineering was less about UI and more about ordering of side effects: when a buyer hits Pay, the system has to confirm Stripe, reserve the seat, persist the order, send the email, and update inventory — and recover cleanly if any one of those steps fails or is retried.
Outcome
DameTicket shipped to production and processed real ticket sales with Stripe. The platform validated that the full stack — Next.js + Prisma + MySQL + Stripe — could be wired together by a single engineer into something organizers would trust with their event revenue.