Build a booking website with AI, from scratch to live (with prompts)

Build a booking site for a salon, clinic or tutor with AI, step by step: copy-ready prompts, a test checklist, and going live on BrewInTH.
Hair salons, clinics, tutors, photo studios and massage shops share the same headache: customers message "Are you free tomorrow afternoon?" dozens of times a day. Answer slowly and you lose them; answer wrong and two people show up for the same slot. An online booking system fixes that, but having one built is expensive and slow.
This article walks you through building a booking website with AI, from nothing to live, step by step, with prompts you can copy: planning what the site needs, letting the AI build and test it, putting it online with BrewInTH, and improving it after launch.
In short
✅ Answer 5 questions first: which services, opening hours, how many bookings per slot, what data to keep, who reads the bookings.
✅ Create a BrewInTH project with a PostgreSQL database and pick a site name.
✅ Prompt the AI to build and test locally, then deploy with the link + token.
✅ Book like a real customer using the checklist, especially double bookings and local time.
✅ Keep improving in the same chat: cancellations, CSV exports and more.
Before you start: answer these 5 questions
AI does its best work when it knows what "done" looks like. Spend ten minutes writing down these five answers and you will save several rounds of back and forth.

- Which services, and how long? For example a haircut takes 45 minutes, colouring 120.
- Which days and hours? For example Tuesday to Sunday, 10:00 to 19:00, closed Mondays.
- How many bookings per slot? One stylist takes one booking; two stylists take two.
- What customer details? Name, phone number, a note. Keep only what you need.
- Who reads the bookings? Usually the owner, behind a password-protected admin page.
Step 1: Create a project on BrewInTH
- Sign up at brewinth.com (the free package gives one project with one database).
- Press Create project and name it, for example "Salon bookings".
- For Technology, Let the platform decide is fine; it looks at your code on the first deploy.
- For Database, choose PostgreSQL: a booking site has to remember bookings.
- Pick a free site name, such as
salonmai, and the site lives atsalonmai.host.brewinth.net. (The free name is set once, so choose carefully.)
When the project is created you get a ready-made message for the AI with a link and a token. Keep it for step 3.
Step 2: Let the AI build and test it locally
Open an AI that runs on your computer, such as Claude Code, Codex, Cursor or Windsurf, in an empty folder made for this project, and paste this prompt (swap in your own shop's details):
Build a booking website for the hair salon "Salon Mai" that works well on phones.
Services: haircut 45 min, wash and blow-dry 30 min, colouring 120 min
Opening hours: Tuesday to Sunday 10:00-19:00 (closed Mondays), Thai time Asia/Bangkok
Two stylists: each time slot takes at most 2 bookings
Customer pages:
- Choose a service, a day and a free time slot (full slots cannot be selected)
- Enter name, phone and a note, then see a confirmation page with a booking number
- No bookings in the past, and never more bookings than stylists, even when people book at the same moment
Admin page /admin:
- Password protected; read the password from the ADMIN_PASSWORD variable, never hard-code it
- List bookings by day, with a button to cancel a booking
Use PostgreSQL through the DATABASE_URL variable.
Make it run and test it locally first, then summarise what you tested. Don't deploy yet.
The two sentences that matter most are "never more bookings than stylists, even when people book at the same moment" and "Thai time Asia/Bangkok". Double bookings and time zones are the most common booking-system bugs, and an AI may miss them if you don't ask.
Step 3: Put it online with the link + token
Once you're happy with the local version, paste BrewInTH's ready-made message into the same chat and add a few lines:
(paste the ready-made message from BrewInTH here)
Put this booking site on BrewInTH so it works for real.
- Use the project's PostgreSQL database and create all the tables.
- Set ADMIN_PASSWORD to a long random value in the project's App settings and tell me here.
- After deploying, open the live site, check that booking works, and give me the link.
Closed the message window already? Press the green Create the AI link and token (automatic) button on the project page any time. Also set your AI to work without stopping (for example Bypass permissions in Claude Code), or it will pause to ask before every command.
The AI uploads the code, starts the build, sets what is needed and deploys. BrewInTH writes the database connection (DATABASE_URL) into the app for you, so you never copy a database password by hand.
Step 4: Book like a real customer
The site is live, but don't send the link to customers yet. Go through this checklist on your phone first:

- A booking on your phone reaches the confirmation page.
- Full slots cannot be selected.
- Two browser tabs booking the same slot at once never exceed the number of stylists.
- Times match the clock in Thailand and are not seven hours off.
- Closed days and past times cannot be booked.
/adminasks for the password.
Something fails? Send the AI a screenshot or describe what you saw in the same chat, and ask it to fix and redeploy. If a new version causes trouble, go back to the previous one on the Releases tab.
Step 5: Improve it after launch
Once real customers use it, you will always want more. Ask for one change at a time in the same chat, for example:
Let customers cancel or move their own booking with the booking number + phone number,
at least 3 hours in advance. Then deploy the new version.
On /admin, add a button that downloads this month's bookings as a CSV file
that opens in Excel with Thai text intact. Then deploy the new version.
To email confirmations to customers, you need your own domain and a mailbox on BrewInTH, which come with paid packages. Create a mailbox and press Use in the app (it writes the MAIL_* settings) on the email page; then ask your AI to send a confirmation email after each booking.
Worth knowing before customers arrive
- Free projects sleep. When nobody visits for a while, the app is paused and the first visitor sees a short "starting" page. For a shop taking bookings all day, a paid package lets you turn sleeping off.
- Keep only the customer data you need. Name and phone are enough; tell customers you use them only to contact them about the booking.
- The password lives in App settings, not in the code. To change the admin password, edit
ADMIN_PASSWORDon the project's App settings page and ask the AI to redeploy. - Want an address that looks like your shop, such as
www.salonmai.com? Connect your own domain on a paid package. - Back up your bookings with the Backups add-on: daily database backups you can restore.
Watch the video (in Thai)
▶ From creating a project to opening the site (1:30)
Watch on YouTube
Frequently asked questions
Do I need to know how to code?
No. Your job is to describe your shop clearly, try the site and tell the AI what isn't right. The AI writes the code and puts it online.
How long does it take?
It depends on complexity. A booking site like this one usually comes out of the first round quickly; the real time goes into trying it and fitting it to your shop.
Can I do this from my phone?
The step where the AI builds and uploads the code needs a computer (PC or Mac); doing it from a phone is not stable yet. Checking the site and test bookings from your phone work fine.
The token expired. How does the AI keep working on the site?
Press Create the AI link and token (automatic) on the project page and paste the new message into the same chat. The AI picks up where it left off.
Can the site take deposits?
It can, but anything involving payments should be reviewed by an expert before going live. Launch bookings first and add payments later; it is safer.
Summary
A booking site is a great first vibe-coding project: you see results right away and it saves real work. Answer the five questions, create a project with PostgreSQL, use the prompts above to let the AI build and deploy, and run the checklist before sharing the link with customers.
Start your first project free →
