No account required to book
Treatment selection, contact details and a time slot form a guided booking journey. The confirmation also provides a downloadable calendar event.
Case study / 01 — Web application · Booking
From discovering a treatment to booking an appointment.
Web application development
Independent beauty salon · Bulle
Next.js · TypeScript · PostgreSQL · Prisma

01 / The starting point
Arbeauté is an independent beauty salon in Bulle. The website introduces its treatments and lets clients book appointments while giving the practitioner a tool to organise her working day.
02 / My contribution
I developed the public website and booking system, together with the administration console: calendar, appointments, treatments and availability. Both sides share the same data.
03 / Technical decisions
Treatment selection, contact details and a time slot form a guided booking journey. The confirmation also provides a downloadable calendar event.
Available slots account for working hours, exceptions and existing appointments, including preparation and cleaning time.
Next.js connects the public interface and administration. Prisma and PostgreSQL organise treatments, opening hours and bookings.

04 / A practical challenge
Two people can select the same time slot simultaneously. An interface check alone is not enough: a PostgreSQL exclusion constraint prevents overlapping appointments from being saved.
05 / The result
The public website offers treatment information and online booking. The console provides appointment and opening-hour management in the same application.