
2026 · End-to-end design & development · Xpandex
Yagüez Estilistas
A hair salon near Madrid that starts with a diagnosis
- Astro 7
- Preact
- Tailwind CSS 4
- TypeScript
- Preact islands
- 5
- Third-party scripts
- 0
- Cookies
- 0
Inside the site
Screenshots of the live site, at 1440px and 375px.

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px
Context
A hair and styling salon in Fuente el Saz de Jarama, north of Madrid. It works by appointment and starts every service with a hair diagnosis: the cut, colour or treatment is chosen afterwards.
The site had to convey that method and lead to an appointment without turning into a shop or a showcase for brands.
Approach
- The diagnosis as the thread. The home page opens with “Leave with the hair you wanted” and a flow that asks what your hair needs before talking about services. It’s the only island with real logic; the rest of the page is HTML.
- Booking without foreign code. The salon already uses booking platforms. Instead of embedding their widgets, with their scripts, cookies and weight, the booking page links to them. The site loads not a single line of third-party JavaScript.
- Identity drawn from the logo. A palette derived from the blue of the sign, with contrast verified by script, and a square-cut interface: zero radius on components, only photos rounded. It was chosen from several design directions presented in a showroom.
- Video that doesn’t cost anything. The hero video is only requested on desktop, after
load, and never under reduced motion, data saver or a slow connection. The photo serves as poster and LCP. - Motion that hides nothing. Reveals only hide content when JavaScript runs and the user hasn’t asked for reduced motion; without JS, everything shows.
- Transparency about AI. The video and one retouched photo carry a notice that they were generated or modified with AI, plus a credits page, as Article 50 of the EU AI Act requires.
What I built
- Static Astro architecture with five Preact islands: diagnosis, catalogue filter, image viewer, mobile menu and progress bar
- Custom design system drawn from the logo, chosen from a showroom of directions
- Booking page linking to the salon’s platforms, with no embedded widgets
- Contact form with honeypot, per-IP rate limit and origin check
- Hair-salon and FAQ structured data,
llms.txtand social cards with real photos of the salon - AI image notice and credits page
- Unit, end-to-end and axe accessibility tests
Outcome
Live on its own domain since October 2026. A site that explains the salon’s method and leads to an appointment without asking the browser for anything that isn’t its own.
A note on this work
Built at Xpandex, where I run the full cycle: design, development, performance, accessibility, technical SEO and deployment.
In short
- What is Yagüez Estilistas?
- A site for a hair salon that works by appointment and starts with a hair diagnosis. Online booking with no third-party scripts, five interactive islands and everything else static HTML.
- What is Yagüez Estilistas built with?
- Yagüez Estilistas is built with Astro 7, Preact, Tailwind CSS 4 and TypeScript. Carlos Ponce delivered it in 2026 — End-to-end design & development · Xpandex.
- What stands out in Yagüez Estilistas?
- Preact islands: 5. Third-party scripts: 0. Cookies: 0.
- Is Yagüez Estilistas live?
- Yes. Yagüez Estilistas has been live at yaguezestilistas.com since 2026.
Related work
Something similar in mind?
