Point Break Surf AcademyConcept build2026

A one-page booking site with a real pricing engine, no backend

Point Break is our concept build for a surf school in Jeffreys Bay: lessons, camps, coaches, and an instant custom quote, all on one page that loads almost immediately.

Snapshot

Client
Point Break Surf Academy (a GoodGround concept brand)
Industry
Adventure travel and sports coaching, direct to consumer
Services
Design, front-end build, booking UX, SEO setup
Build
Hand-written HTML, CSS and JavaScript. No framework, no build step, no backend.

The challenge

Most one-page booking sites fall into one of two traps. Either they're a brochure that funnels every enquiry through a single generic contact form, hiding the details people actually want to know (how long, how many people, what's included) behind a phone call. Or they try to become a real booking system and end up needing months of backend development before the first lesson is even listed.

We set out to prove there's a middle path. Four different things a visitor might want to book (lessons, camp packages, meeting a coach, or building their own custom trip) all needed to live on one scrolling page, each with real depth behind a click. And the price calculator had to feel instant and alive, as if it were checking with someone in real time, even though nothing was happening anywhere but in the visitor's own browser.

The solution

One pop-up window, doing four different jobs

Lesson details, camp itineraries, coach bios and the booking form all open in the exact same style of pop-up window: a photo at the top, scrollable details below, and the same familiar way of closing it, whether that's the X, clicking outside, or hitting Escape. We built that one pop-up once, and every card on the page just fills it with different content.

The booking pop-up in particular can be opened from almost anywhere on the page, and it always remembers what the visitor was already looking at: if you were checking the price for a family camp package, that's exactly what shows up when you go to book.

The coach bio modal open on the live site, showing a founder's background and coaching philosophy

A price calculator with nothing to talk to

The package builder updates a full quote (lesson type, camp package, extras, number of guests) the instant anyone changes a selection. There's no waiting, no spinner, no delay, because there's nothing anywhere else it needs to check with. Everything happens right there in the browser.

Every line in the price breakdown comes from exactly the same information that produces the total, so the two can never disagree with each other, which is the thing that makes most online quote tools feel untrustworthy.

The Build Your Trip package builder mid-selection, showing a live R45,200 total with an itemised breakdown

Pricing tiers that read like tiers, not a template

The three lesson options and three camp packages are laid out the same way, because they need to be easy to compare side by side. But each one has its own photograph, its own specific inclusions, and a real description of what you'll actually get, not the generic icon-and-heading treatment that makes most pricing pages look interchangeable.

That distinction matters most in the details people actually weigh up before booking: how many people are in the group, how long it runs, and what actually happens in the lesson, not just the price tag.

The three lesson tier cards, Beginner through Advanced, each with its own photo, price and outcomes

Built mobile-first, because that is how it gets booked

Most people booking a trip like this do it from their phone, often while they're already travelling. So the whole layout was designed for a phone screen first, then built up to fit a laptop, not the other way around. Every part of the page was checked on the smallest and largest screens we could think of, with nothing ever spilling off the edge.

One dropdown menu with long text once quietly pushed part of the layout wider than it should have been. A small bug, the kind that only shows up once you actually test on a real device instead of assuming a design will hold, caught before it ever reached a real visitor.

The Point Break hero rendered on a 390px-wide phone screen with no layout overflow

The results

Every figure below was measured on the live URL. Each one tells you how to check it yourself.

331 ms

Largest Contentful Paint

Record a performance trace against the live URL in Chrome DevTools.

0.00

Cumulative Layout Shift

Same trace, same run.

100

Lighthouse Accessibility

Run Lighthouse against the live URL in Chrome DevTools.

100

Lighthouse Agentic Browsing

Same audit, same run.

5 files

Entire site

View source on the live URL: one HTML file, one stylesheet, one script, robots.txt and sitemap.xml. No bundler output.

0

Console errors

Open the Console on the live URL.

Point Break Surf Academy is a fictional brand with no customers, so like B3TTER, there is no traffic, bookings or revenue to report, and the six testimonials on the page are invented and disclosed as such in the footer. The site also carries a deliberate noindex tag and a Disallow in robots.txt, which is why its own Lighthouse SEO score reads around 66 rather than 100: a made-up surf school has no business ranking in real search results. Every other SEO check on the page passes, and removing those two lines is a one-line change if this pattern is ever reused for a real client.

Want a website like this?

Tell us what you sell and who you sell it to. We will tell you honestly whether a new site is the thing that will move the needle.

See all work
Start your project