Proof of concept

Every screen, and what it proves

Twenty-eight static HTML pages, no backend and no build step. Open any of them from disk or a static server.

Before you start

There is a control at the bottom left of every page: Visitor · Free · Premium · Admin. It switches the account state instantly, so you can see the same page from every side without signing in and out.

You can also append ?demo=premium to any address to land in that state directly.

The one journey to walk first

Five minutes, and it covers everything the brief asked for.
  1. Set the control to Visitor. Open the library — every premium class is blurred and locked. Press Re-run the check at the foot of that page: no embed address exists in the page, and vault.js was never requested.
  2. Browse the schedule and book a class. The capacity bar moves and a credit is spent.
  3. Try to watch a premium class. You get the gate, not the video.
  4. Upgrade through checkout with Bizum. Any 6xx or 7xx number. The bank-app confirmation runs and the account is promoted.
  5. The library unlocks and the class plays from the external host — and the booking you made in step 2 is still there.
  6. Switch the control to Admin and open Videos to add a class, then SEO & GEO for the search module.

Public site

The marketing surface. Alternating oxblood and white plates, real HTML, full structured data.

Home

The showpiece. Hero, the six things the studio sells, a live class ticker, a locked library preview, programmes, pricing and the drawn map of the old town.

Try this: Open the demo controls at the bottom left and switch between Visitor and Premium — the locked video rail changes in place.

Class schedule

22 classes a week, filterable by day, format, style and level. Booking, waitlists, capacity meters and the six-hour cancellation rule.

Try this: Book a class and watch the credit balance and the capacity bar move.

Prices

Drop-in, bonos, monthly, the online library and the combined plan, plus a comparison table and a gift-card calculator.

Try this: This is the Spanish studio pricing model — class packs, not just subscriptions.

Styles we teach

One section per style with levels, length, props and who it suits. Course schema on each.

Try this: Written for the person choosing a first class, which is who actually reads this page.

Retreats

Three retreats with day schedules, what is included, places left and deposit payments.

Try this: Event schema on all three, with real dates and offers.

About Cristina

Story, teaching approach, a timeline and the other teachers. Person schema with credentials.

Try this: This page carries the E-E-A-T signal that both Google and the answer engines look for.

Journal

The SEO content hub, filterable by topic.

Try this: Six posts, each with an answer-first block.

A journal post

Answer block, table of contents, full body, author box and FAQs — with Article and FAQPage schema generated from the real content.

Try this: Change the ?p= parameter to load any of the six posts.

Contact

NAP block, the drawn map, opening hours and three separate enquiry forms.

Try this: Private sessions and group events are real revenue lines for this studio.

Yoga in Chiclana

The service-area page: facts table, travel times from six towns, the full timetable and six searched-for questions.

Try this: This is the template for Conil and Cádiz. It is the single highest-value page for local search.

Studio admin

Everything the teacher runs the business from, in one place.

What this prototype does not do

Said plainly, so nothing is a surprise later.

  • No real authentication — account state lives in the browser only.
  • No money moves. Stripe and Bizum are simulated faithfully but nothing is charged.
  • No database. All content comes from one seed file, assets/js/data.js.
  • No email is sent; the lifecycle templates are shown, not wired.
  • Video playback uses public placeholder films so the player works. Production serves the studio's own private uploads.
  • The interface is in English. The SEO layer already targets Spain and carries the es-ES hreflang; the Spanish copy is a translation pass, not a rebuild.

What it does prove

  • The full journey from visitor to paying member works end to end.
  • The video gate is real and inspectable, not a claim.
  • Bizum, class packs and waitlists — the things a Spanish studio actually needs.
  • One admin surface covers videos, categories, classes, bookings, members and payments.
  • Every page carries correct, validated structured data.
WhatsApp