Most waitlist tools charge you monthly for what amounts to a database of email addresses. You're paying £25/month to collect emails for a product that might launch in 3 months. That's £75 for a spreadsheet with extra steps.
Waitlists are temporary by nature. You build hype, you launch, you move on. The pricing model shouldn't punish you for that reality.
What we built
WaitStack is a developer-first waitlist platform with viral referrals baked in. Every signup gets a unique referral link. When friends join using that link, both users move up the queue. Your users become your marketers without you spending a penny on ads.
The standout features:
Headless API — Full REST API so you can build your own UI or use our embeddable widgets. POST to
/api/public/v1/joinand you're collecting signups.One-time pricing — Pay once, own forever. £15 for 5,000 signups, £80 for 100,000. No monthly drain on your runway.
Fraud protection — Cloudflare Turnstile blocks bots invisibly. Disposable email blocking keeps your list clean. Email normalisation catches people trying to game referrals with Gmail dot tricks.
Squad Mode — Users form teams. When everyone verifies their email, the whole squad jumps the queue together. Gamifies referrals in a way that actually drives action.
Try it free at waitstack.co — 500 signups, no credit card required.
How we built it
The entire MVP came together in 5 days of focused work. Day 1 was scaffolding Next.js 14 with TypeScript, Tailwind, and Supabase. By day 5, we had user authentication, project management, the referral system, queue tracking, and the public API all working.
The tech stack:
Next.js 14 (App Router) for the frontend and API routes
Supabase for PostgreSQL database and authentication
Stripe for one-time payments
Cloudflare Turnstile for invisible bot protection
Resend for transactional emails
Vercel for hosting
The interesting decision was going headless-first. Instead of building a form builder with drag-and-drop widgets, we built the API and then created widgets that consume it. Same API developers use, same API we use internally. Dogfooding from day one.
Database schema was straightforward: projects for waitlist configurations, participants for signups with referral tracking, squads for team-based queue jumping. Row-level security policies handle multi-tenant isolation so each user only sees their own data.
What we learned
What went well: The 5-day sprint worked. Having a fixed deadline forced prioritisation. We shipped referrals, fraud protection, and the API — features that actually differentiate the product. Everything else went on the backlog.
The lazy initialisation pattern for Stripe saved us deployment headaches. Instead of initialising Stripe at module load (which crashes if the API key isn't set), we load it only when actually needed. Small pattern, big time saved debugging Vercel builds.
What was harder than expected: Dark mode. Genuinely. Spent 2 hours fixing input fields, button outlines, and slider track colours that looked fine in light mode but broke in dark. It's one of those things that seems trivial until you're debugging why a slider thumb is invisible.
The QR code generator was humbling. We initially used a custom encoder that padded bytes with Math.random(). QR codes need deterministic data — random padding produces unreadable codes. A user reported it, we replaced it with the battle-tested qrcode npm package, problem solved. Lesson: don't reinvent encoding standards.
What we'd do differently: Build the live customiser earlier. We added it on day 7, but it should have been day 2. Seeing your branding update in real-time isn't a nice-to-have — it's how people understand what they're getting. Earlier visual feedback would have improved our own testing too.
The approach in practice
This build demonstrates what we do for clients in Build Sprints. Fixed timeline, production-ready code, shipped product. Not a prototype in Figma. Not a clickable mockup. A real thing with real users and real payments.
The constraint of 5 days forces clarity. You can't build everything, so you build the right things. Referrals matter more than drag-and-drop customisation. Fraud protection matters more than advanced analytics. API-first matters more than a pretty dashboard.
Twelve days from first commit to production deployment, including all the polish work. That's the pace we work at.
Try it yourself
WaitStack is live at waitstack.co. Free tier gets you 500 signups with full API access and fraud protection. No credit card, no trial period, just start building.
If you're launching something and tired of paying monthly for email collection, give it a go. And if you want us to build your MVP with this same approach — get in touch.


