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?
| Feature | Unwaited | Building your own |
|---|---|---|
| Cost | Free: 100 signups/account/month; Starter: $30/month; Pro: $50/month | Engineering, hosting, database, email, monitoring, and maintenance; costs depend on your design |
| Standard signup capacity | Position and capacity assignment under a row lock; total or period limits | An atomic admission path and concurrency checks for your chosen database |
| Other workflows | Live queue parties, preorder stock, and dated bookings with recurring enrollment | Your own data model and lifecycle rules |
| Customer access | Private status token issued on a fresh admission; repeat submissions do not reveal it | Token generation, authorization, cancellation, and privacy controls |
| Email and webhooks | New confirmation emails on Starter and Pro; signed webhooks for Standard signups and preorders on those plans | Delivery, retries, idempotency, and failed-job handling |
| Integration | Hosted pages, QR codes, embeds, public submission API, CSV export | The surfaces your product needs, each maintained by your team |
| Operations | Owner dashboard and retention controls | Your 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.



