Mysaloon
Mysaloon is a single-page editorial website for a salon offering hair, nail, beauty, and spa services. It was built with Astro rather than a client-side framework, so the page ships as HTML with almost no JavaScript, and it converts through WhatsApp rather than a contact form.
- Role
- Full stack development, technical SEO
- Year
- 2025
- Stack
- Astro, TypeScript, Tailwind CSS

The brief
Salon customers compare on two things before booking: what is offered, and what it costs. Sites that bury the service menu behind navigation, or hide prices behind an enquiry form, lose that comparison to whichever competitor shows it.
The brief was an editorial-feeling site — closer to a magazine than a brochure — that still loaded immediately on a phone, and that converted through the channel the salon actually answers.
Why Astro, and why one page
Almost nothing on this site changes after load. Service descriptions, category listings, and the salon’s positioning are static content. Shipping a full client-side framework to render static text is a cost every visitor pays for no benefit.
Astro renders to HTML at build time and ships JavaScript only where something genuinely needs it. For a content-led page this removes the JavaScript-rendering question from SEO entirely — the content is in the HTML from the first byte, readable by every crawler including the ones that do not execute scripts.
Keeping it to a single page was a deliberate choice rather than a shortcut. A salon with one location and one set of services does not have enough distinct content to justify a dozen pages; splitting it would have produced exactly the thin pages that hurt a site. One page with everything on it, loading instantly, serves the visitor better.
Two ways to find a service
The service menu is organised seven ways by category — haircut, colour, texture, treatments, hands and feet, beauty, and spa — which serves the customer who already knows what they want.
Alongside it, the same services are grouped a second way by intent: getting event ready, healthy hair and scalp, a makeover, everyday care. This serves the larger group who know how they want to feel but not what the service is called. Offering both routes through the same content costs nothing extra and catches both kinds of visitor.
Booking through WhatsApp
Contact forms leak. A visitor fills one in, receives no acknowledgement, and the salon replies hours later through a different channel. In this market WhatsApp is where the conversation was always going to happen.
So booking runs through WhatsApp directly, with the service pre-filled in the message. The visitor taps once from the service they were reading about and arrives in a conversation that already has context. There is no form to abandon and no reply delay to lose them in.
TypeScript and Tailwind CSS cover the content models and design system, keeping service and pricing data structured in one place rather than written into markup by hand.