Website + online booking + client area

Runway Care & Beauty

A salon offering hairdressing, cosmetics, manicures, pedicures and waxing had a slow website and bookings in a WordPress plugin. We rewrote it as a fast custom website with its own online booking, a client area and appointment management. The client accounts and the appointment history were both kept.

  • Client: Runway Care & Beauty, Bratislava Old Town
  • Year: 2026
  • Duration: about 3 weeks
PHP 8.4 Tailwind CSS MySQL Online booking WebMCP llms.txt
Homepage of the Runway Care & Beauty website, a beauty salon in Bratislava
Runway Care & Beauty: mobile version

Brief

What the client wanted

  • A fast website that feels as premium as the salon
  • Online booking that offers only genuinely free time slots
  • Keep the client accounts and the appointment history from the old system
  • An overview of appointments for staff and for the salon manager
  • Working forms, a price list and better visibility in Google and in AI

Challenge

What the client came with

Runway is a beauty salon in the Staré Mesto district of Bratislava that has offered hairdressing, cosmetics, manicures, pedicures and waxing under one roof since 2017. The original website ran on WordPress with the Amelia booking module and later as a set of static HTML pages.

Every page downloaded a Tailwind script of about 4 MB from an outside server, which put the site's look together only in the visitor's browser. The homepage came to around 2,7 MB in total, photos were 500 to 830 kB and had no set dimensions, so the content shifted while it loaded.

The contact form only opened the visitor's e-mail program, the site map (sitemap), the robots.txt file and the 404 error page were all missing, and the “Booking” buttons led to an address that no longer existed. The header and footer were copied into every file and looked slightly different on every page.

At the same time, the salon did not want to lose anything it already had: the client accounts, the appointment history or the bookings the team saw in the Amelia admin.

Solution

What we did and why

A new foundation without the clutter. We rewrote the website in PHP 8.4 with shared templates: the header, the menu and the footer live in one place, so they look the same everywhere. Tailwind CSS is compiled in advance and only what the pages actually use goes to the browser.

Fast images. We converted the photos to the modern AVIF and WebP formats in several sizes for phone, tablet and desktop. The main homepage photo dropped from 828 kB to 41 kB and every image has set dimensions, so the page does not shift while it loads.

Online booking in 4 steps. The client picks a category, a treatment, a staff member and a free time slot. The system offers only a time that fits everything at once: the salon's opening hours, that colleague's working hours, her vacation, slots that are already taken, the length of the treatment and a minimum lead time of 2 hours. A three and a half hour highlights appointment can therefore be booked for 16:30 at the latest.

Client area and appointment management. Once logged in, a customer sees her appointments and the price list, and a staff member sees her upcoming appointments. The manager has a calendar of all appointments by day, week and month, and can add an appointment, move it to a colleague, cancel it with an e-mail to the client or block time for lunch or training.

A smooth move from the old system. We moved the client accounts over from Amelia and new bookings are written back into it, so the salon lost neither its history nor its overview. Anyone who booked before simply enters their e-mail and their login password arrives automatically.

Ready for Google and for AI. The website has a sitemap, robots.txt, structured data (a machine readable description of the salon for search engines), an llms.txt file with a summary for AI search engines and WebMCP tools that let an AI assistant in the browser look up a treatment, a price or the opening hours. It never books an appointment on its own, though: a person always confirms that.

Security and readability. Forms are protected by a CSRF token (protection against forged submissions) and a hidden bot trap, passwords are stored only as a secure hash and logins have a limit on attempts. We tuned the colors so that all text meets WCAG 2.1 AA contrast (the accessibility standard), including text over photos.

Delivery

What the client got

  • A custom website in PHP 8.4 with shared templates
  • Online booking in 4 steps that works out the free time slots
  • A client area for both customers and staff
  • Appointment management with a calendar and time blocking
  • A treatment price list from the database that you change in one place
  • Contact and complaint forms with spam protection
  • Images in AVIF and WebP formats with set dimensions
  • A sitemap, robots.txt, a custom 404 page and structured data
  • llms.txt and WebMCP tools for AI assistants
  • Text contrast to WCAG 2.1 AA

Results

What you can verify

4 steps
from choosing a treatment to a confirmed appointment
380 kB
downloaded when the homepage opens, previously about 2,7 MB
0.25 s
that is how long the server takes to start sending the page (median of 12 measurements)
42 kB
the site's styles (CSS), 9,7 kB after compression, instead of the previous script of about 4 MB from an outside server
4,60 : 1
the worst contrast of text over a photo (WCAG AA requires 4,5 : 1)
4
WebMCP tools that let an AI assistant work with the website

We measured the size of both CSS files (24,3 kB + 17,7 kB) and the server response on 9/19/2026 at www.rnw.sk from our own connection. The homepage transfer, the photo sizes and the contrast come from the project's technical documentation.

Process

How the project ran (about 3 weeks)

  1. Analysis of the original website

    We went through the WordPress site, the static HTML and the data from the Amelia booking module and wrote down what had to be kept and what did not work.

  2. A new foundation for the website

    A rewrite in PHP 8.4, shared templates, compiled Tailwind CSS, working forms, a sitemap, robots.txt and a 404 page.

  3. Accounts and database

    Customer and staff accounts, a price list for five treatment categories, migration of users from Amelia, login and password recovery.

  4. Online booking

    Working out free time slots from opening hours, schedules, vacations and existing bookings, and writing the booking back into Amelia.

  5. Appointment management

    A list and calendar of appointments for the manager, rescheduling, cancellation, internal notes and time blocking.

  6. Speed, accessibility and AI

    Image optimization, WCAG 2.1 AA contrast, structured data, llms.txt and WebMCP tools.

Technologies

What it runs on

PHP 8.4
a modern programming language that runs both the website and the bookings
Tailwind CSS
styles compiled in advance, so only what the site uses goes to the browser
MySQL
a database of accounts, prices and appointments
AVIF and WebP
modern image formats: smaller files at the same quality
WebMCP
a new standard that lets an AI assistant in the browser use the site's functions
llms.txt
a short summary of the website for AI search engines such as ChatGPT or Perplexity

Gallery

Examples

I want a similar solution

Tell us about your idea or your problem. The first consultation is free and without obligation. Within 1 business day you get an estimate of the price and the timeline.