BENCHMARK 1 · SLOTKEEPER BOOKING APP · TESTED OCT 14–25, 2026 · ONE RUN PER TOOL How we test →

Home / Benchmark

Benchmark 1: SlotKeeper

A booking and waitlist app for a demo yoga studio. It covers sign-up, a database, forms, validation, owner-only pages and a public deploy: what a non-technical founder actually needs.

Tested Oct 14–25, 2026 · 5 tools scored · ChatGPT Codex baseline · 1 reference run · one run per tool

§01

The prompt (pasted word for word into every tool)

Build a web app called "SlotKeeper" for a small service business to take bookings.

Public side (no login needed):
- A landing page showing the business name "Maple Yoga Studio" and a list of upcoming time slots (date, start time, duration, spots left).
- Clicking a slot opens a booking form: full name, email, phone (optional), notes (optional). Validate that name and a valid email are required.
- If a slot has spots left, booking it reduces spots by 1 and shows a confirmation page with the booking details.
- If a slot is full, the button says "Join waitlist" instead, and the same form adds the person to that slot's waitlist with their position number.
- The same email cannot book the same slot twice.

Owner side (login required):
- Email + password sign up and login for the owner. Only logged-in owners can see the admin area; logged-out visitors trying /admin are redirected to login.
- Admin dashboard: create, edit, and delete slots (date, start time, duration in minutes, capacity).
- For each slot, see the list of bookings and the waitlist. The owner can cancel a booking; when a booking is cancelled, the first person on the waitlist is automatically moved into the booking.
- A simple stats line at the top: total upcoming slots, total bookings, total waitlisted.

Requirements:
- Store all data in a real persistent database (data must survive a page refresh and a redeploy).
- Clean, modern, mobile-friendly design.
- Seed 3 example slots for the next 7 days, one of them with capacity 1.
- Deploy it to a public URL I can share.

Identical text was pasted into every tool. After it: up to 5 fix prompts that only describe observed behaviour.

§02

Who was tested, when, on what plan

App links open the live apps as each tool published them. Lovable's still has the open owner sign-up (test data only); Replit's free deploy stops about 29 days after Oct 24.
ToolTestedPlanApp URL as recordedScore
Bolt.newOct 21, 2026Freeslotkeeper-booking-w-wqsh.bolt.host (Bolt.new's app, opens in a new tab)94.75
Base44Oct 14–15, 2026Freemaple-slot-flow.base44.app (Base44's app, opens in a new tab)93.5
v0Oct 22, 2026Freeslotkeeper-booking-app-ku.vercel.app (v0's app, opens in a new tab)90.875
LovableOct 21–22, 2026Freeslotkeeper.lovable.app (Lovable's app, opens in a new tab)87.25
Replit AgentOct 24, 2026Freeslot-keeper-booking-app--ownersenderrepl.replit.app (Replit Agent's app, opens in a new tab)83.625
ChatGPT CodexOct 25, 2026ChatGPT Plus features (a Pro account limited to Plus)slotkeeper-maple-yoga.netlify.app (ChatGPT Codex's app, opens in a new tab)82.5
CursorOct 22, 2026FreeNo public URL13 (partial)

NoteLovable: Under review: 86.25 if our 5-point critical-bug rule is applied (the scorecard took 4). Corrections.

NoteReplit Agent: 87.625 if time counts to the agent's 13-minute finish, which would rank it above Lovable (87.25, or 86.25 under review). Corrections.

NoteChatGPT Codex: General-AI baseline, not ranked: a Plus-level plan, 2 fix prompts and a human-made hosting account. Bug score under review: 83.5 under our −1-per-minor rule. Corrections.

§03

Checklist results

10-item checklist, checked on each tool's public URL (Cursor: local build only).
Checklist itemBoltBase44v0LovableReplitCodexCursor
01. Landing page lists the 3 seeded slots with spots left.PASSPASSPASSPASSPASSPASSPASS
02. Booking with a valid name and email succeeds, a confirmation shows, and spots go down by 1.PASSPASSPASSPASSPASSPASSNOT TESTED
03. A missing name or invalid email is rejected with a clear message.PASSPASSPASSPASSPASSPASSNOT TESTED
04. Data persists after a hard refresh (redeploy not tested).PASS (refresh)PASS (refresh)PASS (refresh)PASS (refresh)PASS (refresh)PASS (refresh)NOT TESTED
05. A full slot (capacity 1, after one booking) shows "Join waitlist" and assigns a waitlist position.PASSPASSPASSPASSPASSPASSNOT TESTED
06. The same email can't double-book the same slot.PASSPASSPASSPASSPASSPASSNOT TESTED
07. The owner can sign up and log in, and logged-out /admin redirects to login.PASSPASSPASSPASSPASSPASSNOT TESTED
08. The owner can create, edit and delete a slot.PASSPASSPASSPASSPASSPASSNOT TESTED
09. Cancelling a booking promotes the first waitlisted person automatically.PASSPASSPASSPASSPASSPASSNOT TESTED
10. Stats line counts are correct, and it all works on the public deployed URL.PASSPASSPASSPASSPASSPASSNOT TESTED
§04

Scores by criterion

Points per rubric part. Cursor's untested parts score 0.
CriterionBoltBase44v0LovableReplitCodexCursor
Works end to end (max 30)3030303030303
Time to first working version (max 15)15151212890
Bugs (max 15)111112910110
Design / UX (max 15)13.7512.511.87511.2510.62512.50
Deploy ease (max 15)1515151515100
Cost (max 10)10101010101010
Total /10094.7593.590.87587.2583.62582.513 (partial)

NoteLovable: Under review: 86.25 if our 5-point critical-bug rule is applied (the scorecard took 4). Corrections.

NoteReplit Agent: 87.625 if time counts to the agent's 13-minute finish, which would rank it above Lovable (87.25, or 86.25 under review). Corrections.

NoteChatGPT Codex: General-AI baseline, not ranked: a Plus-level plan, 2 fix prompts and a human-made hosting account. Bug score under review: 83.5 under our −1-per-minor rule. Corrections.

  • Points earned
  • Points lost
  • Bar segments, left to right: works 30 · time 15 · bugs 15 · design 15 · deploy 15 · cost 10

Bolt.new · 94.75

Base44 · 93.5

v0 · 90.875

Lovable · 87.25

Replit Agent · 83.625

ChatGPT Codex · 82.5

§05

What we didn't test

  • Data surviving a redeploy (all tools). Checklist item 4 was credited after a refresh check only; see corrections.
  • A second owner trying to read another owner's data (all tools).
  • Whether database keys are exposed in the browser (Bolt; not checked on the others).
  • Backend reads without logging in (Base44 was probed at the UI level only).
§06

Known limits

  • One general agent so far: ChatGPT's Codex ran as the baseline on Oct 25, on a Plus-level plan. Claude, Grok and Gemini weren't asked to build the app; they're added at the retest. See categories.
  • Specialists on free plans only: no cheapest-paid-plan runs yet.
  • One app type: a booking app.
  • One run per tool, so luck matters and we can't show spread yet.
  • One design reviewer.
  • Tools change often; every result is dated.
  • Not tested yet: Emergent, Claude Code.