Pretty in Pink Brunch · 2026
Live in productionPretty in Pink Brunch 2026
Event registration, payments and QR check-in platform
- Next.js 15
- TypeScript
- Tailwind CSS
- Supabase (Postgres, Auth, Realtime)
- Paystack
- Resend
- Upstash
- Vercel
- Cloudflare
- Vitest
- Playwright

Live
at prettyinpink.org.uk
291
automated tests
5
staff roles with least-privilege access
Overview
What this is
A complete event platform for a charity brunch in Accra: guests register, pay a minimum contribution through Paystack, receive a personal QR pass by email, and are checked in at the door from a phone. Organisers run everything from a secure dashboard: guests, seating, VIP places, emails, donations and the site's own content.
The problem
What needed solving
- Every guest had to register and contribute at least GHS 200 before receiving an entry pass.
- The organisers needed a paid VIP tier with a hard limit of 50 places and upgrades for existing guests.
- Guests' personal data had to be protected properly, not just stored.
- The organising team needed to change website text, seat guests and email guests without a developer.
The solution
What I built
- A 4-step registration flow with Standard and VIP options, email checks and duplicate blocking.
- Paystack payments checked on the server, with signed webhooks, so a pass is issued only after payment is confirmed.
- Personal QR passes and a phone-friendly check-in screen that can also take payment at the door.
- A role-based admin dashboard with two-step sign-in, live payment updates and a built-in content editor.
Features
Key features
Registration and contribution gate
4 steps with a GHS 200 minimum. Rejects disposable or mistyped emails and blocks duplicate sign-ups.
Paystack payments
Amounts set on the server, every payment checked with Paystack, signed webhooks, and automatic receipts.
Paid VIP tier
GHS 1,000+, capped at 50 places, with 30-minute checkout holds and upgrades for Standard guests.
Digital QR passes
A personal pass with table, seat and VIP perks, issued only once payment is confirmed.
Door check-in
Scan or search from a phone, take payment at the door, and catch duplicates. Attendance updates live.
Seating and tracking links
Tables with auto-fill seating, plus tracking links and QR codes for each campaign.
Guest emails
Email groups or hand-picked guests from templates, with consent checked at send time.
Content editor
Organisers edit website text, sponsors and VIP perks themselves, with history and undo.
Live donations
New Paystack payments appear in the dashboard automatically, with no refresh.
Screens
Inside the product






