Build a class-booking app and try to break it

Checklist version 1.0 (2026-09-26) · AI Builder Marketplace · aibuildermarketplace.com/research/one-booking-app-three-ai-builders/

Who this is for: Anyone deciding between AI app builders for a small booking, sign-up or reservation app: whether the builder handles capacity, double bookings, a protected admin page, export and data that survives republishing.

Scenario: A one-person yoga studio takes class bookings. Visitors book, move or cancel; only the owner sees and cancels all bookings and exports them.

Rules

Prompt (send word for word)

Build a web app for a one-person yoga studio to take class bookings.

Requirements:
1. A public page shows the classes for the next 14 days: Monday to Friday at 07:00 and 18:30, Saturday at 09:00, no classes on Sunday. Each class has 8 spots and shows how many spots are left.
2. A visitor books a class by entering a name and an email address. The number of spots left goes down by one. A class with 0 spots left cannot be booked.
3. After booking, the visitor sees a confirmation with a unique link to manage the booking.
4. Through that link the visitor can move the booking to another class that still has spots, or cancel it. Cancelling frees the spot.
5. The same email address cannot book the same class twice.
6. An admin page protected by a password shows all bookings per class, lets the admin cancel any booking, and has a button that exports all bookings as a CSV file with the columns: class date, class time, name, email, status.
7. Bookings are stored in a database and are still there after a page reload and after the app is republished.
8. Publish the app at a public URL.

Do not add payments, email sending or user accounts.

Repair template: These tests fail: <list with test number, what you did, what you saw>. Fix only these, change nothing else, and republish.

Checks

Builder: ____________   Plan and mode: ____________   Date: ____________

IDCheck and pass conditionResultNotes
T01App published
Loads at a public URL without logging in to the builder.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T02Schedule
Next 14 days; Mon-Fri 07:00 and 18:30, Sat 09:00, no Sunday; 8 spots each.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T03Booking
Name and email; spots left drops by one, also after a reload.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T04Confirmation
Confirmation shows a unique manage link.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T05Full is full
Ten simultaneous booking requests on an empty 8-spot class: 8 accepted, 2 refused. One manual double click is not this test; use simultaneous-bookings.js.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T06No double booking
The same email cannot book the same class twice, also typed in capitals.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T07Move
The manage link moves a booking: old class +1, new class -1.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T08Cancel
The manage link cancels a booking and frees the spot.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T09Manage link not guessable
The link contains a long random code, not a sequence number.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T10Admin page protected
No access without or with a wrong password, in the page and through the app's own API.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T11Password not exposed
The admin password is not in the page source, the JavaScript or any URL.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T12Overview
The admin page lists all bookings per class, consistent with T03-T08.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T13Admin cancels
The admin cancels a booking; the spot is freed and the status visible.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T14CSV export
Download with exactly: class date, class time, name, email, status; rows match what you booked.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T15Input checks
An empty name, a name of only spaces and an invalid email are refused by the server.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T16Data survives
Bookings are still there after a reload and after republishing.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T17Usable on a phone
At 390 px wide, schedule, booking and manage link work without sideways scrolling.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a
T18Take it with you
Export the code (GitHub or zip) and the data; try to run it outside the builder and note what does not come along.
☐ pass   ☐ partly   ☐ fail   ☐ not tested   ☐ n/a

Tools this checklist fits, and their offers

Written for AI and no-code app builders that can build a small booking app. Run it during the trial, before you pay or claim a discount. The deal pages show the offer for each tool, with who confirmed it and when.

What this checklist does not cover: Not a security audit beyond T09 and T11, no load test beyond ten requests, no payments, email or real traffic, and one run per builder.

A missing test is not a product failure, and a block caused by your account is not automatically a product limit.