Case studyWebsite · Booking integration
Hair Design by Lara
A full-stack salon website wired directly into the salon's existing booking system: live services, live pricing and live availability, with a secure admin panel, delivered concept to launch in three weeks.
- Next.js
- TypeScript
- Square API
- NextAuth
- Vercel
- concept to launch
- 3 weeksconcept to launch
- services rendered live
- 205services rendered live
- source of truth for pricing
- 1source of truth for pricing
Most salon websites keep a second copy of the service menu — one in the booking system, one on the site — and the two drift apart within a month. The Hart & Heim build removes the copy entirely: the site reads the salon's live booking catalogue, so a price changed in the booking system is a price changed on the website.
One source of truth
The booking platform is the backend. The website is a presentation layer over it, which means the salon keeps working exactly as it did — the tools, the calendar and the payment flow are unchanged — while the public-facing experience becomes something they own.
- Service catalogue, tiered pricing and availability read from the live booking API
- Booking and availability verified end to end against the real production account
- No parallel price list to maintain, and therefore no drift
An admin panel the owner actually uses
Content the owner needs to change often — gallery, imagery, copy — is editable behind an authenticated admin panel, so routine updates never require a developer or a deploy.
- Authenticated admin with gallery and content management
- Uploads sanitised: EXIF stripped, images optimised and served responsively
- CSRF protection and rate limiting on the mutating paths
Found locally
- Local business, service and FAQ structured data emitted for rich results
- Dynamic sitemap that tracks the real content rather than a static list
- Performance budget respected — the site is fast on a phone on mobile data, which is where its customers actually are