Web app · Booking + staff + payments

One system for a small barbershop

Customers book online. Every barber has their own PIN. The counter takes cash or card, and each tip and commission goes to the right person automatically. The owner sees the money, the pay and the profit without a notebook.

Built byAlexander Atanasov
StackJavaScript · Cloudflare Workers · D1 (SQLite)
LanguagesEnglish + Bulgarian
Works onPhone, tablet, desktop
Try the booking page →Open the staff app →Owner calendar →

Demo PINs: Niko 1111 · Marta 2222 · Ivo 3333 · Counter 0000 · Owner 2468

Customer booking page: service, barber, day strip and free times, with a booking summary
The customer side: pick a service, a barber (or anyone free), a day and a time. Only real free times are shown.

01 · For customers

Booking in under a minute, no app to install

02 · For barbers

Their own PIN, their own day, their own money

Shop tablet lock screen with each person's name
The shop tablet: tap your name, enter your PIN. It locks itself after 90 seconds.
Barber's day with earnings, appointments and a client note
“My day”: what they earned today, tips, and the next client with notes.

A barber only sees their own clients and money. Check in, tap Done, and the client goes to the counter to pay. When a client checks in, their card opens with notes like “#2 on the sides” and their history, so nobody has to remember.

Client card with visits, money spent, usual barber, loyalty stamps, notes and history
Client card: visits, money spent, usual barber, loyalty stamps, notes and history.

03 · At the counter

One checkout for everything, with the barber’s share worked out

Checkout with extra services, products and stock, tip, discount and promo code
Extras, products (with stock left), tip, discount, gift card or promo code, then Cash or Card.
Payment done screen with a printable staff receipt
After paying: a printable staff copy, and what the barber earns from it.
Counter schedule sheet for the whole shop with register totals
The schedule as a sheet: every appointment, phone, status and what was paid. Exports to Excel/CSV.

04 · For the owner

The money, the pay and the profit, without a notebook

Owner view: today at a glance and pay per barber
Today at a glance (no alerts, just a page to look at) and what each barber is owed for today, the week or the month.
Costs and profit: income, barber pay, costs, profit and a breakdown bar
Costs & profit: add rent and bills, see where the money goes and what the month is on pace for.
End of day Z report with cash counted and pay per barber
End of day: count the drawer, see expected vs counted, print the Z report. The day is then locked.
Stock levels and gift cards and promo codes
Stock with low-stock warnings, plus gift cards and promo codes.
Team settings: commission, PIN, working days and time off per barber
Team: each barber’s %, PIN, working days and time off. The booking page updates right away.

Refunds are owner-only and put stock and gift-card money back. Discounts, refunds, PIN and % changes, closed days and cost changes all go into a “who did what” log.

05 · On a phone

Same system in your pocket

Booking page, barber day and barber week on phones
The booking page, a barber’s day and their week on a phone. The staff app also installs on the shop tablet like an app.

06 · Under the hood

Small, fast, cheap to run

PartHow
Front endPlain JavaScript and CSS, no framework, loads fast on old phones
ServerCloudflare Workers, so it runs close to the customer
DataCloudflare D1 (SQLite) for bookings, payments, clients, stock and costs
Customer loginsPasskeys (WebAuthn), verified on the server. No passwords stored anywhere
Staff loginsPINs stored hashed, signed sessions, wrong-PIN attempts rate-limited, auto-lock
Running costA small shop fits in Cloudflare’s free plan; a custom domain is extra

07 · For your shop

Set up for your business

Services, prices, staff, opening hours, percentages and the look are all set up for your shop: barbershop, hair or nail salon, massage, tattoo studio or anything that runs on appointments. English and Bulgarian are included; other languages can be added.

Pricing depends on what you need. Email me with your shop and I’ll send a quote.

North Pier is a made-up shop used for this demo. ← All projects