
2026 · End-to-end design & development · Xpandex
Diego Kaminsky · Singing School
From personal brand to school, a full redesign off the page builder
- WordPress FSE
- PHP
- Alpine.js
- GSAP
- JSON-LD
- Page builder
- Page builder removed
- Motion
- Self-hosted GSAP (GDPR)
- Contrast
- Two golds, measured
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 singing teacher in Madrid moving from personal brand to school. He teaches an integrated method combining vocal technique, emotional work and physical training.
The previous site ran on a page builder and had the classic problem of sites that grow without a plan: four messages competing in the hero, one announcement banner stacked on another, and no hierarchy at all.
Approach
- One idea per screen. The old hero tried to announce summer courses, free enrolment, season sign-ups and the school’s proposition all at once. The redesign leaves one thing at the top and moves the rest where it belongs.
- Two golds, because one of them can’t be read. The palette is ivory with a golden halo, and the brand gold on the cream background lands at 3.7:1 — below the 4.5:1 normal text requires. It is kept for rules, icons and large headings, and a deeper gold carries small text: 7.1:1 on the cream and 5.6:1 over the amber area of the gradient, the worst case on the page.
- GSAP and Alpine self-hosted, never from a CDN. Loading a library from a third-party CDN sends the visitor’s IP to that third party, and that has to be declared. Serving it from the site’s own domain removes the problem at the root.
- Google’s cookies stay off until someone accepts. Consent Mode denied by default: the measurement container never loads without consent, and withdrawing it clears whatever cookies had been set.
- FSE theme with
theme.jsonas the source of truth, fully replacing the page builder.
What I built
- Bespoke WordPress FSE theme replacing the page builder
- Ivory design system with two golds and the ratios documented in the CSS itself
- GSAP and Alpine motion layer, self-hosted and honouring reduced motion
- Structure for courses, method, workshops and blog
- Forms on domain SMTP plus WhatsApp contact
- Cookie consent with embeds blocked until acceptance
Outcome
Live on its own domain. The old site is gone: the cutover happened on the same domain with URLs preserved, so the search rankings already earned weren’t lost along the way.
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 Diego Kaminsky · Singing School?
- A redesign for a Madrid singing school. Page builder out, a custom FSE theme in, with self-hosted GSAP and an ivory palette with two golds and contrast measured pair by pair.
- What is Diego Kaminsky · Singing School built with?
- Diego Kaminsky · Singing School is built with WordPress FSE, PHP, Alpine.js, GSAP and JSON-LD. Carlos Ponce delivered it in 2026 — End-to-end design & development · Xpandex.
- What stands out in Diego Kaminsky · Singing School?
- Page builder: Page builder removed. Motion: Self-hosted GSAP (GDPR). Contrast: Two golds, measured.
- Is Diego Kaminsky · Singing School live?
- Yes. Diego Kaminsky · Singing School has been live at diegokaminsky.es since 2026.
Related work
Something similar in mind?
