Stormie Studios

Client project · Kickboxing & Muay Thai club

Masters Gym.

A full rebuild for Masters Gym Stockholm bilingual, conversion-focused, with a self-service content system and a schedule that fits how the club actually works.

Client type

Kickboxing & Muay Thai club · Kungsholmen, Stockholm

One club.
One system.

The old site ran on Squarespace, so the club could technically edit it themselves. The real problem wasn't developer-dependency, it was no bilingual support, no clear path from visitor to member, and content that went stale anyway.

The rebuild is fully custom and hand-coded, structured around conversion, with a content system matched to how the club actually works day to day, not a generic template with a logo swapped in.

Everything the club needs to keep current, headlines, pricing, coach profiles, class photos and promotions, is managed from a single Studio, confirmed live end to end. The schedule stays on a spreadsheet, the fastest way to edit fast-moving weekly class times, layered with temporary schedules, one-off cancellations, calendar subscriptions and automatic member email alerts, with checks in place so a typo can't break the page or send an accidental email.

Live build, real CMS, real code, real client meetings.

Bilingual Self-service news Schedule pipeline Membership flow Social links Accessible

Not a landing page. A running system.

Conversion layer

Built for conversion

Separate paths for members, families and corporate training, each with its own call to action, all built around one goal: turning a visitor into a booked trial.

Content system

Full content control

News, prices, coach profiles and photos, class listings and site-wide promotions, all managed from one CMS (Sanity), no developer, no waiting.

Fail-safe design

Routine edits can't break the layout

Delete a price, leave a field blank, remove a photo, the design falls back to what already works. Everyday content changes are designed to never damage the site's layout or build.

Class access

A schedule that runs itself

The full weekly schedule, holiday schedules and one-off cancellations managed from a Google Sheet. Members subscribe once and it lives in their own calendar from then on.

Member alerts

Notified automatically

When a class is cancelled or changed, subscribed members get an email within minutes, no group chat, no missed messages.

Social layer

Social-first design

Instagram, Facebook and TikTok surfaced directly, with a live feed pulling straight from the club's real Instagram, always current.

Trust layer

Real reviews, pulled in live

Actual Google reviews shown directly on the site, building trust without a single copy-pasted screenshot.

Support layer

Always-on help

A quick-help widget answers common questions, booking, pricing, schedule, without a visitor ever leaving the page.

Language & access

Built for everyone

Every page works in Swedish and English from one system. Fully usable with a keyboard, readable by screen readers, and set up to actually get found on Google.

The numbers behind the build.

91 Performance score (mobile) Fast on mobile, built for real-world networks
100 SEO score Fully structured and indexed, built to be found
97 Accessibility score Tested by hand, keyboard and screen reader both

The craft underneath.

Built to load fast, to work for people using a keyboard or a screen reader, and to actually get found on Google.

Every form field, every menu, every modal was checked for the kind of thing that's invisible until it breaks for someone.

  • Stack: hand-written HTML, CSS and vanilla JS, no framework, single static file, hosted on GitHub Pages.
  • Content layer: Sanity CMS via GROQ queries for news, published Google Sheets CSV endpoint for the schedule.
  • Performance: eliminated a render-blocking third-party stylesheet, preloaded the hero image, added font preconnects. Mobile Lighthouse performance went from unmeasurable to 91, desktop to 99.
  • Accessibility: modal focus trap with Escape-to-close and focus return, full ARIA labeling, keyboard-operable carousel, corrected heading hierarchy, restored pinch-to-zoom.
  • Security: innerHTML output escaped throughout, honeypot field on the trial form.
  • SEO: canonical URL, LocalBusiness structured data, sitemap.xml, robots.txt, branded 404 page.

Old versus new.

Every part of the site rebuilt, not just restyled. New-site screenshots are being added as they're finalized.

OldOld hero
New
Screenshot coming

Hero

The old hero was a single stock-feeling photo with the nav overlaid on top. The new hero replaces it with a structured layout, headline, description, and two direct calls to action, book a trial or check the schedule, so a first-time visitor knows exactly what to do without scrolling.

OldOld about section
New
Screenshot coming

About

The old About was two paragraphs floating in a box on top of a photo, cramped and hard to read on smaller screens. The new About is a proper section with founding story, credentials and a values grid, giving the club's history room to actually build trust instead of competing with an image for space.

OldOld classes section
New
Screenshot coming

Classes

The old page had one general paragraph and a single link. The new site breaks training into seven distinct class types, each with its own format, tagline and equipment notes, so a visitor can find the right class for their level before ever contacting the gym.

OldOld schedule section
New
Screenshot coming

Schedule

The old schedule was a photo of a printed poster, not real text, not searchable, and stuck showing whichever season it was uploaded for. The new schedule pulls live from a spreadsheet the club edits themselves, with day-by-day and week views, so it's never out of date.

OldOld news page
New
Screenshot coming

News

The old news page was a plain list of dated posts, easy to miss and disconnected from the rest of the site. The new News section runs on a real CMS and now sits high on the homepage, right next to the schedule, where members actually look.

OldOld trial promo
New
Screenshot coming

Memberships

The old site promoted trial weeks as a limited seasonal banner, implying trials were only available at certain times. The new site shows every membership tier and price year-round, with a standing invitation to try a class any time, no waiting for a promo window.

OldOld corporate section
New
Screenshot coming

Corporate

The old corporate offer was one paragraph and a "Read more" link with no clear next step. The new corporate section spells out exactly what's included, morning sessions, team building, group classes, with a direct booking CTA and a quote turnaround time.

OldOld footer
New
Screenshot coming

Contact

The old footer was five links and a "Made with Squarespace" credit. The new contact section gives visitors the address, metro directions, opening hours and an embedded map in one place, answering the most common first-visit questions without an extra click.

1 / 8

Want something similar?

Let's build yours.

Website, schedule, memberships, a content system or a full connected build for your club, your brand and your members.