Build a Booking App Without Code: Our $0 Base44 Build

We built a real booking app on Base44 Free and logged every credit, then tested free Make and Systeme.io for the jobs the app could not do.

In this article
  1. The short version
  2. What "without code" actually means here
  3. What we built, and how we tested
  4. Step 1: build the app
  5. Step 2: treat the free plan as a budget
  6. Step 3: what the free builder gets right
  7. Step 4: what broke
  8. Step 5: where the free builder stops
  9. Step 6: send the confirmation, calendar event and sheet row with Make
  10. Step 7: send the follow-up email with Systeme.io
  11. The whole setup, on free plans
  12. What we have not tested, and will not claim
  13. What to do, in order

If you run a service business and want clients to book you online without hiring a developer, you can have a working booking app today, for $0, from one sentence typed into an AI builder. We built one on Base44 Free, a client portal for a solo consultant, over ten sessions, and logged every credit. The app worked: 22 measured bookings, a confirmation email in our inbox for each, no slot ever taken twice. What the free builder did not do is the work that comes after a booking. The 24-hour reminder it built for us never ran once, the deposit button took no money, and a lead who had not signed up was told to check an inbox that never got anything. So we tested two free tools that do those jobs outside the app: Make for the confirmation email, calendar event and spreadsheet row, and Systeme.io for the follow-up email.

25 message credits a month, 5 a day. No card. Apps are public-only on Free.

The short version

  • The build is the easy part. One plain-English prompt produced a public services page with prices, client accounts, availability, an intake form and an admin dashboard. It cost 4.81 of the 25 monthly message credits.
  • Running the app is cheap and billed separately. Publishing, sign-ups, bookings and CSV export never touched the message pool. Each booking with its confirmation email cost 2.03 integration credits, the same across 22 bookings, so Free's 100 integration credits cover about 49 bookings a month.
  • Anything scheduled or sent to outsiders stops at the free plan. Reminders never fired, email to leads who had not signed up failed silently, and the deposit confirmed bookings without charging. The AI built all three without warning us first.
  • The jobs after the booking work on other free plans. On Make's free plan a booking confirmation reached our inbox 3 seconds after a webhook received it, for 2 credits. Email plus calendar event plus sheet update cost 4 credits. Systeme.io's free plan includes one automation rule and one email campaign, which is exactly one follow-up email. We have not yet seen that one send.

What "without code" actually means here

You describe the app in plain English and an AI writes it, hosts it and gives you a URL. That does not mean you avoid every technical decision. In our build the AI made choices about data privacy, email, payments and reminders on its own, announced that they worked, and in several cases was wrong. The skill that replaces coding is testing what you were handed.

That is the method behind this page and behind how we test: one scenario, one written requirement list, and a before/after credit reading on every action.

What we built, and how we tested

The app: "Northline Advisory", a client portal for an invented solo consultant, built on Base44 Free. Public services page with three priced services, an intake form with file upload, client sign-up and login, weekly availability with no double booking, an admin dashboard with statuses and private notes, CSV export, a confirmation email, a 24-hour reminder, Google Calendar sync, a $50 Stripe deposit, and the whole flow usable at 375px. Twelve requirements, ten sessions between 2026-09-14 and 2026-09-17.

The follow-up layer: a booking-confirmation automation on Make Free, built on 2026-09-18 (full write-up in our Make vs Zapier free plan test), and a Systeme.io Free account set up on 2026-09-16 for the follow-up email (full write-up in our Systeme.io free plan review).

One limit up front, so nothing below reads as more than it is: these were separate test builds. We have not yet connected the Base44 app to the Make webhook. The booking Make received was a test booking we sent by hand, with a name, email, service, date and time. Connecting the two is the next thing we test.

The business is an invented test profile, not a customer. Total spent at every vendor: $0. No plan was bought, no top-up, no card, at any point.

Step 1: build the app

Base44's starting prompt went in at 18:01 local time. By 18:10 a finished public home page was rendering in the editor: the three services with the right durations and prices, and a "Book a session" button on each. No follow-up prompt was needed to get something that looked like a real product.

Two things surprised us, both measured:

  • Building an app does not publish it. Base44 shows a *.base44.app URL in the toolbar from minute one. Opened in a browser that had never logged in, it served "Northline Advisory isn't available yet." You have to press Publish, and press it again after every change. Publishing cost zero credits of either kind all five times we measured it, but nothing in the editor tells you the live app is behind your edits.
  • Running the app is free from the message pool. Publishing, visiting, signing up, booking and exporting CSV never touched Base44's 25 message credits. Message credits pay for talking to the AI. Serving customers draws on a separate pool of 100 integration credits.

Step 2: treat the free plan as a budget

Base44 Free gives 25 message credits a month, at most 5 a day. The first build prompt cost 4.81. After that, individual prompts cost between 0.50 and 3.00 credits, and Base44 shows no estimate before you send.

The daily cap limits whether you may start a message, not what the message costs. We opened one session with 0.60 credits left for the day, sent one prompt, and it billed 1.90, closing the day at 6.30 against a "5 a day" cap. On another day a prompt started with 2.00 left billed 2.10. The overshoot comes out of the monthly pool.

The daily allowance reset at midnight in the workspace owner's timezone every time we watched it (five times). The monthly renewal is advertised as UTC, so a fresh UTC morning does not mean five fresh credits.

Here is where the month went, from the before/after readings on each prompt:

What we asked the AI for Message credits
The first build prompt 4.81
Fix three bugs it shipped: empty client name (0.60), unlocked admin page (1.10), wrong time in emails (1.20) 2.90
A 24-hour reminder, which never ran 1.60
Make the $50 deposit actually charge, which ended where it started 2.30
Directions for own domain, hidden badge and private app, all paid features 0.70
One consistent look on every page, checked at phone width 2.10
Two questions that changed no code 1.50
Remove the dead deposit and the dead reminder 1.40

Month total after ten sessions: 22.91 of 25 used. Add the rows that only existed because of something the AI had shipped (the fixes, the deposit attempt, the two questions and the removals) and they come to 8.10 credits, about a third of the free month. The first build cost 4.81. Budget for the repairs, not just the build.

Step 3: what the free builder gets right

This part is better than we expected.

Client data really is separated. Base44 Free apps are public-only (the Private setting is greyed out and badged Starter and above), so we tested whether "public" also meant "readable". It does not. From client A's signed-in session, using A's own token against the same API the app calls, we ran seven probes. A's booking list returned one row, A's own. B's intake fetched by ID returned 404 not found. Listing users returned "Only collaborators can view the list of users". The platform enforces this on the server, not the AI's front-end code.

Double booking is blocked, across accounts. Client B, in a separate browser profile and account, saw the 11:00 slot greyed out because client A had taken it moments earlier. Across 22 bookings no slot was ever taken twice.

The owner sees everything, each client sees their own. The admin view listed every booking and intake with the client's name, email and time. Email-and-password login with mandatory email verification came free, and Base44's own verification emails cost the owner nothing.

Confirmation emails to signed-up clients work. Every booking we made produced one; the ones we timed arrived within five seconds. Each cost 2.02 integration credits.

The mobile claim held. After the one-look prompt we opened the live home page at phone width in a separate browser and measured it: no horizontal scroll. The other screens were checked at 375px before that redesign.

Step 4: what broke

Every one of these was found by using the app, not by reading the AI's summary.

  • The confirmation email promised a calendar invite that did not exist. Every client was told "A calendar invite will follow shortly" when no calendar connection existed.
  • Every client was emailed the wrong time. The record stored the right moment and every screen showed it correctly, but the email printed raw UTC with no label: a three-hour error for us, twice in a row. The fix cost 1.20 credits and our later confirmation read "3:00 PM GMT+3" for a 3:00 PM booking.
  • The admin page had no lock. Any signed-up client could open /admin by typing the URL and see the owner's dashboard. The code already hid the Admin link from clients; it never guarded the page behind it. Each client still saw only their own data, so it was an embarrassment rather than a breach, but you have to ask for the lock. And the 1.10-credit fix did nothing on the live site until we pressed Publish again.
  • The first CSV export had an empty Client column, which makes a bookings export useless to the business it is for.
  • The $50 deposit button was live and took no money. With no payment key the booking confirmed instantly and the export recorded Deposit: no. When we asked for the deposit to really charge, the AI described its own bug in one line: the page "silently falls back to a free booking". Then it offered a Stripe install that was blocked for our account's country, asked for a secret key we did not give, and put everything back. 2.30 credits, same dead button.
  • Asked what would not work on Free, it got our working app wrong. We asked the assistant directly which features would fail for real clients on the free plan. It said booking, the slot picker, the public intake form and confirmation emails all break on Free. We had measured all four working on this app, on Free, across more than twenty bookings. That answer cost 1.00 credit.

Step 5: where the free builder stops

Free plans rarely stop you at a wall with a sign on it. Ours shipped the paid features broken and mentioned the plan afterwards, if at all.

Emailing a lead who never signed up. We asked Base44 to let visitors submit the intake form without an account and get a confirmation. It cost 2.10 credits, it built two backend functions, it reported "Both functions work", and only in the closing summary did it mention a paid plan and a custom domain. Submitted as a real anonymous visitor, the lead saw "Thanks — we've got it… check your inbox for a confirmation." Nothing was sent. The only trace was one red row in a log viewer: "Emails to people who aren't registered users of this app need a paid plan and a verified custom domain."

Reminders. Base44's own chat suggested "Send 24-hour reminders" to a workspace it knew was on Free, built the feature for 1.60 credits, and announced "24-hour reminders are set up", with no plan warning. One click away, the Workflows tab said "This feature is only available on the Builder plan or higher." We checked 36 hours later, with five bookings overdue for a reminder by more than a day:

  • no reminder in either test client's inbox;
  • zero backend function calls in the app's logs since the last booking;
  • zero "Automation Executed" events, ever;
  • the reminder_sent field the AI added was empty on all 15 bookings.

Asked why, for another 0.50 credits, the assistant said scheduled automations are a Builder-plan feature and the platform never triggers them on Free. Nothing on the owner's screen would ever have shown that the reminders were not going out.

Here is what is gated, as Base44's own screens showed it on our Free workspace:

What you want Base44 Free
Make the app private Starter and above
Your own domain Starter and above
Remove the Base44 badge Starter and above
Send your app's email from your own address Starter and above; Free sends from a Base44 address
Email someone who never signed up Paid plan and a verified custom domain
Scheduled reminders Builder and above (Workflows tab); the one it built never ran
Take a deposit Button shipped dead. Our Stripe block was about our account's country, not the plan
Google Calendar sync No plan badge on the connector; we did not connect a real calendar, so untested

Plan prices, from Base44's pricing page, verified 2026-09-14, not measured by us: Starter $20/mo ($16/mo billed yearly), Builder $50/mo ($40/mo yearly). We did not buy either, so nothing here describes how a paid plan behaves.

And the running cost, which is our arithmetic from our own readings: one booking with its confirmation email used 2.03 integration credits, and a complete first-time client (intake with file upload, booking, email) used 4.04. So Free's 100 integration credits cover roughly 49 bookings, or about 24 new clients, a month, shared across every app in the workspace. For a consultant doing 15 to 30 sessions a month, that is the real ceiling, not the 25 message credits.

Test your own app before a client does

Get the 12-point checklist we ran on this build, free by email. Then at most one email a week. Unsubscribe anytime.

Step 6: send the confirmation, calendar event and sheet row with Make

The builder's gaps are all about what happens after the booking: messages on a schedule, messages to people outside the app, and copies of the booking in the calendar and the spreadsheet you already use. That is what automation tools do, so we built the booking confirmation on Make's free plan. Every number below is from that build on 2026-09-18. The full test, including the same automation in Zapier, is in Make vs Zapier on the free plans.

What Make Free gives you (from the plan screen inside our account): 1,000 credits a month, 2 active scenarios, a 15-minute minimum between scheduled runs.

The full flow: email, calendar, sheet. Four steps: a new booking row in Google Sheets, a Gmail confirmation to the client, a Google Calendar event, and the row updated to "Confirmed". One manual run turned all four green. The email reached our test inbox 7 seconds later, sent from our own connected Gmail address with no Make branding. The calendar event landed on the right date and time. The counter moved from 0 to 4 credits: one per step.

The way to build it: a webhook. Make gives you a URL that receives a booking the moment something sends one. We sent a test booking at 09:47:31 UTC and the confirmation was in our inbox at 09:47:34, 3 seconds later. Make recorded that run as 2 credits (webhook plus Gmail) and nothing at all while it sat waiting. At 2 credits per email-only booking, 1,000 credits is about 500 bookings a month; with the calendar event and sheet update, 4 credits, about 250. Compare that with Base44's own confirmation email at 2.02 of 100 integration credits.

The trap: a scheduled trigger bills even when nothing happened. Watching the sheet every 15 minutes cost 1 credit per check, including checks that found no booking. That is about 2,880 credits a month with zero bookings, so the free allowance runs out in about ten days. It is also slow: a booking we typed at 09:38:40 was picked up at 09:52:58, 14 minutes later. Use the webhook.

Two smaller walls, both measured:

  • A third active scenario is refused: "Maximum number of active scenarios has been exceeded - Payment Required." On Free you get two always-on automations.
  • The Gmail connection has to be re-authorised after about six months. Make stated the exact date when we connected it; miss it and the confirmations stop.

Make's email step sends to whatever address the booking carries. It has no idea who signed up to your app, which is why it could cover the lead Base44 would not email, once the booking reaches Make.

What we have not measured yet: our Base44 app calling that webhook on the free plan. Base44's backend functions did run on Free (every booking went through one, although Base44's billing docs list them as a Builder feature), but whether one can send data to an outside URL on Free is untested. We have also not built a reminder in Make. Until we do, we make no claim about either.

The first paid Make plan, Core, was $10.59 a month or $9 a month billed yearly on our account's plan screen (2026-09-16). That is less than Base44's Builder plan, which is what Base44 asks for its own scheduled automations.

1,000 credits a month and 2 active scenarios. Use a webhook trigger: 2 credits per booking email, nothing while idle.

Step 7: send the follow-up email with Systeme.io

A confirmation is one email. Following up with a lead who has not booked yet, or a client after a session, is an email tool's job. Base44 Free cannot email people who never signed up, and Make Free's two active scenarios go fast. We are testing three free email plans for this job, and the Systeme.io results are in our Systeme.io free plan review. Everything below comes from our own free account on 2026-09-16.

Free automation exists here. Automations > Automation Rules opened with a working Create button and no upgrade gate. Triggers on Free include Website form subscribed and Tag added; actions include Send email and Subscribe to campaign. On a new Kit free account, the same job redirected to "Upgrade to the Creator plan to unlock Email sequences & more", and Kit's billing screen priced Creator at $39 a month for 1,000 subscribers.

It is exactly one of each. The plan screen inside our account read: 2,000 contacts, 1 automation rule, 1 email campaign, 1 tag. That is one follow-up email flow for one kind of lead. The first paid plan, Startup, was $17 a month and raises rules and campaigns to 10 each.

Before your first send, three settings:

  • Verify a sender address. On a new account the sender list is empty and nothing can be sent until you add one. Ours took about six minutes.
  • Read the sender notice. Systeme stated that transactional emails go out from a transactional.systemeapp.com address unless you authenticate a whole domain; replies still come to you.
  • Untick "Display my affiliate link at the end of each email I send". It is on by default on a free account.

What we have not proven. We built the trigger ("Tag added") and the action ("Send email"), but the rule needs an email campaign to exist first, and on our account the Campaigns screen never finished loading that morning: the page made no data request at all. So we have not seen this follow-up send end to end, and we make no deliverability claim. When the send test is done, it goes in the review.

1 automation rule, 1 campaign and 2,000 contacts on Free. Verify a sender first.

The whole setup, on free plans

Compared Base44 Free Make Free Systeme.io Free
Its jobThe app: services, accounts, booking, adminConfirmation email, calendar event, sheet rowFollow-up email to leads and clients
What free gives25 message credits a month (5 a day) and 100 integration credits1,000 credits a month and 2 active scenarios2,000 contacts, 1 automation rule, 1 email campaign
Measured cost per booking2.03 integration credits with the confirmation email2 credits email only, 4 with calendar and sheetNot measured, no send completed yet
Where free stopsReminders, deposits, own domain, private app, email to non-membersA third active scenario, credits spent on idle scheduled checksA second rule, campaign or tag
First paid planStarter $20/mo, Builder $50/moCore $10.59/mo or $9/mo yearlyStartup $17/mo
What we paid0 dollars0 dollars0 dollars
Next stepTry Base44 Free Try Make Free Try Systeme.io Free
  1. Base44 Free
    Its job
    The app: services, accounts, booking, admin
    What free gives
    25 message credits a month (5 a day) and 100 integration credits
    Measured cost per booking
    2.03 integration credits with the confirmation email
    Where free stops
    Reminders, deposits, own domain, private app, email to non-members
    First paid plan
    Starter $20/mo, Builder $50/mo
    Try Base44 Free
  2. Make Free
    Its job
    Confirmation email, calendar event, sheet row
    What free gives
    1,000 credits a month and 2 active scenarios
    Measured cost per booking
    2 credits email only, 4 with calendar and sheet
    Where free stops
    A third active scenario, credits spent on idle scheduled checks
    First paid plan
    Core $10.59/mo or $9/mo yearly
    Try Make Free
  3. Systeme.io Free
    Its job
    Follow-up email to leads and clients
    What free gives
    2,000 contacts, 1 automation rule, 1 email campaign
    Measured cost per booking
    Not measured, no send completed yet
    Where free stops
    A second rule, campaign or tag
    First paid plan
    Startup $17/mo
    Try Systeme.io Free

Rows that are identical for every tool are hidden on phones.

Prices are the vendors' own: Base44 from its pricing page (verified 2026-09-14), Make and Systeme.io from the plan screens inside our free accounts (2026-09-16). We bought none of them.

What we have not tested, and will not claim

Our testing method only lets us publish what a build actually produced, so here is what these runs did not settle:

  • Base44 Free sending a booking to Make's webhook. The two halves are measured separately; the connection between them is not.
  • Google Calendar sync inside Base44 Free. The connector showed no plan badge, but we stopped at Google's consent screen rather than give a test app write access to a real calendar.
  • Whether Stripe is plan-gated on Base44 Free. Our block was about our account's country, not the plan.
  • A Systeme.io follow-up email arriving in an inbox. Built, not sent.
  • A reminder built in Make.
  • What Base44 does when the monthly message pool hits zero. We were at 22.91 of 25 when this was written.
  • Any paid plan of any of the three.
  • Every other booking tool. This page covers what we built.

What to do, in order

What we liked

  • 25 message credits a month, enough for a real build plus fixes
  • Publishing, hosting and running the app cost nothing from the message pool
  • Per-client data isolation enforced on the server, verified against the API
  • Confirmation emails to signed-up clients arrived in seconds, every time we booked
  • Double booking blocked across separate accounts

What annoyed us

  • Free apps are public-only, Private needs Starter
  • No cost estimate before you send a prompt, and the daily cap does not stop an overspend
  • The reminder it built and billed never ran on Free
  • Leads who never signed up get no email while the screen says one is coming
  • A change is not live until you press Publish again, and nothing tells you
  1. Write the requirement list before the prompt. Ours had twelve items. Every defect above was found by checking one, and none appeared in the AI's own summary of its work.
  2. Put everything in the first prompt, including the features you suspect are paid. That is how you find the wall, and the first big prompt was the cheapest work of the whole run per feature.
  3. Open the app as a stranger, in a browser that has never logged in, and republish after every fix. That is how we found the unpublished app, the dead deposit and the lead email that never went.
  4. Check the emails in a real inbox, not the AI's word that they send. Check the time in them too.
  5. Ask for the admin page to be locked, then try it from a client account.
  6. Do not pay the builder for the after-booking jobs until you have tried the free route. A Make webhook handles the confirmation, the calendar event and the sheet for 2 to 4 credits a booking; Systeme.io Free handles one follow-up flow. Pay only for the item that is still blocked after that.

No card needed. Write your requirement list before your first prompt.

If you sell products rather than book your time, an app builder is probably the wrong tool. Our guide to Shopify's AI features in 2026 covers what is bundled there, and selling through ChatGPT is a separate setup again. If what you need today is a spreadsheet rather than an app, the free templates are faster.

Custom webhook on the free plan: 3 seconds from booking to confirmation email in our test.

Frequently asked questions

Can you really build a booking app without knowing how to code?

Yes. On Base44 Free a single plain-English prompt produced a working booking app with a public URL, a database, client accounts and an admin dashboard. The prompt went in at 18:01 local time and the finished home page was rendering by 18:10. What coding is replaced by is testing: the AI reported work as complete that did not work, including a reminder that never ran, a deposit button that collected nothing and an email promising a calendar invite that did not exist.

How much does it cost to build a booking app this way?

We spent $0 and never entered a card. Base44 Free gives 25 message credits a month at 5 a day; after ten sessions of building and fixing we had used 22.91 of them. Running the app draws on a separate pool: each booking with its confirmation email used 2.03 of 100 monthly integration credits, about 49 bookings a month. You start paying when you need a specific feature: Base44 Starter is $20/mo and Builder $50/mo (Base44 pricing page, verified 2026-09-14).

Can an app built on a free plan send confirmation emails?

On Base44 Free, yes, to clients who have signed up for your app: every booking we made produced one, at 2.02 integration credits each. Emailing someone who never signed up needs a paid plan and a verified custom domain, and on Free it fails silently while the visitor is told to check their inbox. On Make's free plan a webhook-triggered confirmation reached our inbox 3 seconds after the booking arrived, for 2 of 1,000 monthly credits, sent to whatever address the booking carried.

Can it send automatic reminders before the appointment?

Not on Base44 Free in our test. Base44's own chat suggested 24-hour reminders, built them for 1.60 credits and said they were set up. Thirty-six hours later no reminder had arrived, the logs showed no function calls and no automation ever executed, and the reminder_sent field was empty on all 15 bookings. Asked why, the assistant said scheduled automations are a Builder-plan feature. We have not yet built a reminder in Make, so we make no claim about that route.

Can a free booking app add appointments to my Google Calendar?

Make's free plan did in our test: a four-step flow sent the confirmation email, created the Google Calendar event on the right date and time and marked the sheet row Confirmed, for 4 credits per booking. Inside Base44 Free, the Google Calendar connector showed no plan badge, but we stopped at Google's consent screen rather than connect a real calendar, so whether it works there is untested.

Is client data safe in an app an AI wrote for me?

The platform layer held up in our testing. Probing Base44's API from one client's own signed-in session, another client's records returned 404 not found and the user list returned a permission error. The AI's own code is the weaker layer: it left the admin page reachable by any signed-up client who typed the URL, because it hid the navigation link without guarding the page. Ask for the admin page to be locked, republish, then check it yourself from a second account.

Can I use my own domain on a free plan?

Not on Base44 Free. Base44 shows custom domains, a private app, hiding the Base44 badge and sending from your own email address as Starter plan and above. We did not buy a plan, so we cannot describe how they behave once paid.

Can a free AI-built booking app take a deposit?

Not in our test, and the way it fails is the problem. Base44's app shipped a live button reading Pay $50 and confirm; with no payment key the booking confirmed instantly and was recorded as unpaid. Asked to make it really charge, the AI spent 2.30 credits and ended where it started. The block we hit on the payment connector was about our account's country rather than the plan, so whether a Free workspace elsewhere can take payments is untested.

Illustration of the 12-point checklist

Check your app before a client does

Get the 12-point checklist we test every AI app builder against. Then at most one email a week: what we built, what broke and what it cost. Unsubscribe anytime.

Before you go

Build a Booking App Without Code: Our $0 Base44 Build

We built a real booking app on Base44 Free and logged every credit, then tested free Make and Systeme.io for the jobs the app could not do.

1,000 credits a month and 2 active scenarios. Use a webhook trigger: 2 credits per booking email, nothing while idle.