Vibe Coding Playbook

Home › Guides

Build a booking app with AI, step by step

By Dene Gordon · Updated 19 October 2026

A booking app is a brilliant first "real" app: it needs a database, emails and an admin view, but it's small enough to finish. This is a step-by-step overview of how a beginner can build one with AI tools. It covers the stack, the order to build things in, and the details that catch people out.

What you're building

A simple, useful booking app has five parts:

  1. A public page showing available time slots.
  2. A booking form that saves the booking to a database.
  3. A confirmation email to the customer, and a notification to you.
  4. A private admin page, behind a login, where you see and cancel bookings.
  5. Optionally, a deposit taken by card when someone books.

Do you need to build one at all? If you only want bookings for your own business, an off-the-shelf tool may be cheaper in time. Building your own makes sense when you want something tailored, want to learn, or want no monthly fee. It's also excellent practice for bigger apps.

A beginner-friendly stack

Step 1: write the rules before the code

Booking apps go wrong on rules, not code. Decide and write down:

Paste these rules into your project notes file and into your first prompt. See how to write prompts for building apps for the format.

Step 2: ask for a plan, not code

Prompt your coding agent: "Here's my booking app brief and rules. Propose a plan: pages, database tables, server routes and the build order. Don't write code yet. Ask me questions about anything unclear." Expect something like a bookings table (date, time, name, email, service, status) and routes such as "list free slots", "create booking" and "cancel booking". Push back on anything you don't understand. Asking "why do we need this?" is a perfectly good prompt.

Step 3: build the public slots page

Build only the page that shows free slots, using fake data first. Check it on your phone. Is it obvious which slots are free? Can you tap them easily? Only then connect it to the real database.

Step 4: save bookings safely

Now the booking form. Ask for three things explicitly:

Test it by opening the page in two browser windows and booking the same slot in both.

Step 5: confirmation emails

Connect Resend. You'll need to verify your domain, which means adding a few DNS records. The AI can walk you through it, and Resend's dashboard shows which records are still missing. Keep your Resend API key on the server as a secret or environment variable, never in front-end code. Send a plain, clear confirmation: what, when, where, and how to cancel.

Step 6: a private admin page

Add Clerk so only you can sign in to an admin page that lists bookings and lets you cancel them. The crucial bit: the server must check the user is signed in and is you on every admin request. Hiding a button isn't security. Ask the AI directly: "Show me where the server checks admin access for each admin route."

Step 7 (optional): take a deposit

Stripe Checkout is the simplest route: your server creates a checkout session, Stripe hosts the payment page, and a webhook tells your app when payment succeeded. Use Stripe's test mode and test cards until everything works. Only mark a booking as confirmed when the webhook says so, not when the customer returns to your site.

Step 8: test like a customer, then go live

How long will it take?

For a complete beginner, expect a few evenings to a couple of weekends, depending on whether you add payments. Most of the time goes on testing and on setup tasks such as DNS records and API keys, not on the AI writing code.

What it costs

On free tiers, potentially nothing but your domain while you're small. Add an AI subscription of roughly £8 to £30 a month if you outgrow the free AI allowances, plus Stripe's per-payment fee if you take deposits. The full breakdown is in how much it costs to build an app with AI in the UK.

New to all this? Start with what vibe coding is or a simpler first project: building a website with ChatGPT.