byte-creoBack to the service

Sample report · a demo app we built

Performance & Security Check and Fix: Sample Report on a Demo Booking App

Please read first. This report covers a demo app that bytecreo built for testing. It is not a real company, shop or customer. Every name and phone number in it is made up. We built in mistakes on purpose, the kind we often see in apps put together quickly with AI tools. Nothing was put online; all of the work happened on our own computer.

Written 2026-10-26 · bytecreo

At a glance

The app

A booking and inquiry app for a neighborhood hair salon (a demo). Customers pick a free time on their phone and leave a name and number. The owner confirms or cancels bookings on an admin screen. We modeled it on an app someone might build with an AI tool in a day.

What the free check-up tools found

We started with three free tools anyone can use: the check-up that comes with the database service (the place that stores customer records), Google's speed test, and a check of the software parts the app is built from.

What they missed

  1. A master key meant only for the shop's admin was inside the website files that get sent to every visitor's phone.
  2. There was a back door: without logging in, anyone could see, change and delete bookings.
  3. The admin screen's password was written right into the website files.
  4. Every time someone opened the booking page, it downloaded the names and phone numbers of all customers.
  5. Pages were never saved for reuse, so the app rebuilt every page from scratch on every visit.

What we found by hand, by actually trying things

To be honest

These days, if you show your code to an AI, it will point out most of these problems. We gave the same code to a separate AI without telling it what we had built in. It found all of our planted mistakes, plus one we had missed ourselves (some text was hard to read in dark mode). But it did not actually try anything to see whether the doors were really open, and it handed back a list of thirty-odd items, big and small, all at once.

Our work starts there. We pick what to fix first. We make the fixes without breaking booking, inquiries or the admin screen. Then we try each fixed item again to confirm it is really closed, and we record before and after.

What we fixed

ProblemWhat could have happenedWhat we saw when we checked again
Customer records not lockedSomeone could copy or edit the whole customer listAttempts from outside to read or edit are refused
Master key inside the website filesThat key could wipe every recordThe key is gone from the website files. It now lives only on the shop's side, where visitors never see it
Bookings could be managed without logging inAnyone could cancel or delete bookingsRefused unless logged in. Staff accounts without admin rights are refused too
Admin password inside the filesAnyone could get into the admin screenReplaced with a real login (email and password)
Taken slots showed as freeTwo customers in one slotSlots now match the real bookings. If two people pick the same time at once, the second is asked to choose another time
First photo far too largeA long blank screen on phonesResized for phones and loaded first
Every page rebuilt on every visitSlower pages and higher server bills when traffic risesPages that don't change are built ahead of time. Booking availability is kept for a short while and refreshed as soon as a new booking comes in
Booking page downloaded all customer detailsAnyone opening the page could see other customers' detailsThe page now gets only next week's taken times. No names or numbers are sent

After the fixes we went through it in a real browser: making a booking, trying to book the same slot twice, sending an inquiry and logging in as admin. Everything worked.

Still to do

  1. A rule that blocks the following hour for long services such as perms. Every shop works differently, so this needs the owner's input.
  2. Protection against bots flooding the inquiry form.
  3. The real privacy notice, and automatic deletion once records pass their keep-by date. For now there is only a one-line sample notice.
  4. The admin has to log in again after a while.

How we checked

We work on client apps in the same order

We agree in writing on what we will look at. We check, pick what to fix first, fix it, then check again the same way and show you the before and after. We work in a test setup and never take your real customers' personal data. For the first three clients the check is free, on the condition that we can publish the results as a case study.

Want the same for your website or app?
Book a free 30-minute call