If you run a salon, barbershop, spa, or nail studio, you've already paid the booking-software tax. Vagaro, Booksy, Square Appointments, GlossGenius, Fresha. You picked one, you pay for it every month, and on top of the subscription some of them take a cut of every new client they "send" you, plus card processing on every sale.
The pitch was always the same: get found in our marketplace, fill your chairs. The reality for most established shops is different. Your bookings come from Instagram, from regulars, from word of mouth, the clients you already earned. But the platform sits between you and them, charges you monthly, and in several cases skims a commission on bookings you'd have gotten anyway.
In 2026 the math broke. A shop owner can ship a real, branded booking app, native iOS and Android plus a web link, with deposits, reminders, client history, payments, and loyalty, for a few hundred dollars a month all-in, no booking commission, no marketplace in the middle.
This is the playbook.
What the Big Platforms Actually Cost You
It's not just the sticker price. Stack it up:
- Monthly subscription. Roughly $25-$200/month per location once you add staff seats, reminders, and the loyalty/marketing add-ons. Multi-chair shops land at the high end.
- New-client commission. Some platforms take a percentage (commonly in the 20-30% range) of a new client's first booking when that client comes through the marketplace. On a $120 color service that's $24-$36, gone.
- Card processing. A per-transaction cut on top of everything else.
- The relationship. Your client's "account" lives in the platform's app, next to your competitors. When they open it to rebook with you, they see ten other shops.
For a two-or-three-chair shop doing real volume, the commission line alone can dwarf the subscription. That's the part owners underestimate.
What a Custom Salon / Barbershop App Does
For a typical shop, the custom app covers the whole loop:
Client-Facing (web link + native app)
- Online booking. Pick service, pick stylist (or "first available"), pick a real open slot. Web link for first-timers from your Instagram bio; native app for regulars.
- One-tap rebook. "Same as last time" pulls the previous service and stylist.
- Deposits at booking for chargeable services, card on file via Stripe.
- Automated reminders. Push (native app) and SMS/email for the rest, with a confirm/cancel button that respects your window.
- Loyalty. Points or a visit counter the client can actually see.
Staff App (iOS + Android)
- Today's schedule per stylist, with client notes one tap away before the client sits down.
- Client history & preferences. Color formulas, allergies, product preferences, before/after photos.
- Check-out: take payment, add a tip, apply loyalty, mark the visit done.
- Block time, take walk-ins, manage the queue.
Owner / Front Desk (web)
- Master calendar across all chairs and stylists.
- No-show and deposit tracking.
- Revenue by service, by stylist, by day.
- Loyalty and rebooking rates.
The point isn't to copy Vagaro feature-for-feature. It's to build the 80% your shop actually uses, under your brand, with no commission, and shaped to how you really run the floor.
Rork vs The Booking Platforms
| Platform | Real native app | Booking commission | Owns your clients | Custom workflow | Cost model |
|---|---|---|---|---|---|
| Rork | ✅ Real native (iOS+Android+web) | ✅ None | ✅ You do | ✅ Anything | From $20/mo; Max $200/mo |
| Booksy | ✅ Native (theirs) | ⚠️ Marketplace cut on new clients | ❌ Platform | ❌ Their workflow | Subscription + commission |
| Vagaro | ✅ Native (theirs) | ⚠️ Add-on fees | ❌ Platform | ❌ Their workflow | Subscription per seat + add-ons |
| Square Appointments | ✅ Native (theirs) | ✅ None (processing only) | ⚠️ Square account | ⚠️ Templates | Subscription + processing |
| GlossGenius | ✅ Native (theirs) | ✅ None (processing only) | ⚠️ Platform | ⚠️ Templates | Flat monthly + processing |
| Fresha | ✅ Native (theirs) | ⚠️ New-client + add-on fees | ❌ Marketplace | ❌ Their workflow | "Free" + commission + processing |
The platforms are genuinely good at being a marketplace. That's also the problem: you're a tenant. The custom build trades the marketplace (which most established shops don't actually need) for ownership, zero commission, and a workflow that fits your floor.
The Stack You Build On
- Rork for cross-platform native (one project → iOS + Android + web). The managed backend (Rork Cloud) is included: managed Postgres for clients/appointments/services, file storage for photos, and Rork Auth (Google + Apple sign-in). For native Swift and the full Apple ecosystem, you'll use the Max plan.
- Stripe for deposits, card-on-file, in-app payment, and tips. Stripe Terminal if you want a physical reader at the desk.
- Push notifications (built in via Expo Push) for reminders to clients who installed the app.
- An SMS provider (Twilio) and email (Resend) for reminders to clients who booked from the web link and never installed.
Total monthly cost for a small multi-chair shop:
- Rork: from $20/month (Pro), or $200/month (Max, ~$2,400/year) for native Swift
- Stripe: per-transaction only (no monthly)
- SMS + email reminders: ~$20-$50/month depending on volume
- Apple/Google developer fees: ~$10/month amortized
All-in, most shops land well under $300/month, and there is no booking commission, ever. Compare that to a platform subscription plus a 20-30% cut on new-client bookings.
The Build Sequence
You don't build all of this at once. Build the loop that makes you money first, then layer on.
Week 1: Booking core
- Data model: Client, Stylist, Service, Appointment. (Rork sets up the managed Postgres for you.)
- Per-stylist working hours and services offered.
- Web booking flow: pick service → pick stylist → pick a real open slot → confirm.
- Rork Auth so clients and staff sign in with Google or Apple.
Week 2: Deposits + reminders
- Stripe at booking: card on file or partial deposit on chargeable services.
- No-show / cancellation policy with a cancellation window, shown before the client confirms.
- Automated reminders: push for app users, SMS/email for web bookers, with confirm/cancel buttons.
Week 3: Client history + staff app
- Client record: visit history, color formulas, allergies, preferences, before/after photos (stored in Rork Cloud).
- Staff view of today's schedule with notes one tap away.
- Check-out: take payment, add a tip step with preset percentages, split tip to the stylist.
Week 4: Loyalty + owner dashboard
- Loyalty rule (points per dollar, or every Nth visit free).
- One-tap rebook ("same as last time").
- Owner web dashboard: master calendar, revenue by stylist/service, no-show and rebooking rates.
By the end of the month the shop runs on its own app. After that it's iteration, not rebuilding, and you can ship the native iOS/Android app to the App Store and Play Store for your regulars.
The Details That Trip People Up
- Deposits need a clear policy. Show the cancellation window and the deposit amount before the client confirms, and store their agreement. This is what makes a charge stick if they no-show.
- Per-stylist availability is the whole game. The booking flow must only offer slots that are free for the chosen stylist and long enough for the chosen service. A balayage isn't a buzz cut; block the right duration per service.
- Reminders should match how the client booked. App users get push; web-link bookers get SMS or email. Sending both annoys people.
- Tips belong to the stylist. Build the tip split into check-out from day one, or you'll be reconciling it by hand.
- Don't promise compliance you haven't set up. If you store client photos and personal notes, handle them responsibly (consent for photos, sensible data hygiene) and check local rules; the app doesn't make you compliant by itself.
What to Do This Week
If you've been paying a monthly subscription plus a commission on bookings you earned yourself:
- Open Rork. Start on the free plan; move to Pro (from $20/month) and, when you want native Swift, Max ($200/month).
- Describe your shop: your services, your stylists and their hours, your deposit and cancellation policy. Use plan mode and let it interrogate you on per-stylist availability and no-show rules.
- Build the booking core and deposits first, the part that protects your money.
- Share the web booking link in your Instagram bio this week. Push the native app to your regulars next.
By the time your current platform's next invoice lands, your clients are booking through your own app, your deposits are protecting your calendar, and nobody is taking a cut of the clients you already earned.
See also: