YAIS Platform

The website and ticketing platform I built for the Yale Africa Innovation Symposium: verified registration, Stripe checkout, one QR pass per attendee, and a check-in desk for staff.

Chief Technology Officer · Sep 2026 to now · in private testing before launch

Scale: In private testing

Results

The problem

YAIS V needed a new website and its own ticketing: verified registration, paid tickets for the conference and the gala, a pass people can show at the door, and tools the board can run on event day. Payments had to stay correct when a buyer closes the tab mid-checkout or Stripe sends the same notice twice.

What I built

The hard part

Making every payment become exactly one ticket. Stripe can deliver the same webhook twice or out of order, and a buyer can close the tab before the redirect. Fulfillment is idempotent in Postgres, so a replayed webhook finds the order it already filled instead of creating a second ticket or email, and a scheduled job recovers purchases whose webhook never arrived. Check-in has the same problem from the other side: a staff phone can lose a response and retry, and the retry must return the original receipt, not a false 'already scanned'. A row lock rechecks admission when the scan commits, and concurrent transactions in the tests prove it.

How it fits together

Invariant: however many times Stripe reports a payment, it becomes exactly one ticket and one email.

Decisions

Tech: Next.js, TypeScript, Supabase, PostgreSQL, Stripe.

By David Antwi (david.antwi@yale.edu). Markdown version: /work/yais-platform.md. Full profile: /llms.txt.