Unwaited vs building your own waitlist

Build when admissions are core to your product. Compare capacity, customer privacy, lifecycle changes, and ongoing maintenance before choosing a hosted tool.

Last checked

Quick answer: build if the admission rules are your product. Consider Unwaited if one of its existing workflows fits. Before deciding, check the API documentation, Bookings, Queues, and Preorders, rather than assuming every use case is a form and a counter.

A decision checklist

  • Can a supported workflow represent what the customer actually receives?
  • Do you need payments, external calendar coordination, or referral ranking?
  • Who will maintain retry behavior, deletion, and support tools after launch?
  • Can you use hosted pages or an API while keeping your main product independent?
FeatureUnwaitedBuilding your own
CostFree: 100 signups/account/month; Starter: $30/month; Pro: $50/monthEngineering, hosting, database, email, monitoring, and maintenance; costs depend on your design
Standard signup capacityPosition and capacity assignment under a row lock; total or period limitsAn atomic admission path and concurrency checks for your chosen database
Other workflowsLive queue parties, preorder stock, and dated bookings with recurring enrollmentYour own data model and lifecycle rules
Customer accessPrivate status token issued on a fresh admission; repeat submissions do not reveal itToken generation, authorization, cancellation, and privacy controls
Email and webhooksNew confirmation emails on Starter and Pro; signed webhooks for Standard signups and preorders on those plansDelivery, retries, idempotency, and failed-job handling
IntegrationHosted pages, QR codes, embeds, public submission API, CSV exportThe surfaces your product needs, each maintained by your team
OperationsOwner dashboard and retention controlsYour own support tools, migrations, monitoring, and deletion process

The admission operation is only the beginning

For Standard signups, Unwaited assigns position and checks capacity in one conditional UPDATE ... RETURNING under a row lock. Reading a row count and then inserting can allow concurrent requests to choose the same number. Your own implementation needs a transaction design appropriate to its database and explicit tests for simultaneous requests.

The counted unit matters just as much. A Standard entry is one signup, a queue ticket is one active party, a preorder reserves product quantities, and a booking reserves a place in a dated session. A quantity answer attached to a Standard form does not reserve that many products or seats.

Lifecycle actions add work: a cancellation must release the right capacity once, a queue call may need a durable email, and a changed lesson needs an essential notice. Private status links also need authorization rules. A repeated email submission does not prove that the submitter owns the existing record, so Unwaited does not return its private token on a duplicate submission.

Price maintenance as well as infrastructure

There is no useful universal hosting estimate without traffic, delivery volume, and operational requirements. Include engineering time, backups, observability, support, and upgrades in your own estimate. Avoid treating the first working form as the finished system.

Unwaited Free includes 100 signups per calendar month across the account, Starter 3,000, and Pro 10,000. One booking or recurring enrollment uses one signup; later lessons do not. New confirmation emails and file uploads start on Starter. History has no plan-based expiry; owner retention and deletion still apply.

Capacity and monthly usage are separate. Uncovered Standard entries are held from the owner; new uncovered queue, preorder, and booking admissions pause after the account's one-time grace period. Check the full usage rules before choosing an architecture.

Try a developer signup template. Publishing requires access; the editor can be explored first.

When Building your own is the better choice

  • Admissions are core to your product and require a custom data model.
  • You need capabilities Unwaited does not provide, such as payment collection, referral ranking, or external calendar coordination.
  • Your requirements call for infrastructure and deployment under your control.

FAQ

Questions

What is wrong with count()+1?

Concurrent requests can read the same count and choose the same next number. An atomic allocation with a capacity check avoids that race. Unwaited's Standard admission path uses a conditional UPDATE under a row lock.

Can I keep my own form?

Yes. The public API supports custom clients. Choose the endpoint and contract for the workflow you need; a Standard entry request is not a preorder or booking request.

Can I export data later?

CSV export is available. Signed webhooks on Starter and Pro can send Standard signup and preorder events to your integration. Queue and booking events are not supported. Held Standard entries are unavailable to owner exports and notifications until released.

Does Unwaited support real schedules?

Yes. Bookings use dated sessions with capacity, durations, and single bookings or recurring enrollment. They do not sync availability with external calendars or provide an automatic overflow waitlist.

Your line, ready in a minute.

Free for 300 signups a month. Unlimited waitlists. Your signups stay as long as you want them.

Create your waitlist