Classboard

A website for independent gyms and studios

Your gym’s week, on one page.

A timetable people can filter, passes they can compare, trainers they can meet, and a “My Week” they carry to their own calendar. Built for Northgate Fitness. Yours by replacing one file.

classes a week
37
ways to train
7
trainers
6
file to make it yours
1

The problem

The timetable is a PDF.

It opens sideways on a phone and nobody can filter it.

The prices are a list.

Four passes, five differences, and the member does the maths.

Three classes a week, written on a hand.

Nobody gives the member a way to plan.

How it works

Three taps from “which class” to “it’s in my calendar”.

  1. Filter the week.

    Pick a class type, a level, a trainer, or all three. The URL keeps the filters, so “all the beginner yoga” is a link you can send.

  2. Save what you’ll go to.

    One tap on any class saves it to My Week. It stays in the browser, grouped by day, and the badge in the navigation counts along.

  3. Export to your calendar.

    Download one file and every saved class lands in your phone’s calendar as a weekly repeating event, starting from the next one.

What is in the box

Everything a studio site needs, nothing it doesn’t.

  • A real weekly timetable.

    Seven columns on desktop, one day at a time on a phone, today marked. Every class opens to its description, room, level and what to bring.

  • Filters that share.

    Type, level and trainer combine. The filtered page is a URL. Zero matches gets a message, not a blank.

  • Passes side by side.

    Four passes as cards with the popular one marked, then a feature-by-feature table. Each card has an Enquire button that writes the email for you.

  • Trainers people can meet.

    Every trainer has a profile: bio, specialities, certifications, and the classes they teach this week, each one saveable.

  • My Week and calendar export.

    Saved classes grouped by day, a count in the navigation, remove one or clear all with a confirm, and a one-file export that repeats weekly.

  • Built to be adopted.

    No backend, no accounts, no network calls. Light and dark follow the system. Every control is labelled and keyboard operable.

The demo studio

Northgate Fitness, live.

This is the real app, running in the page. Filter it, save a class, open My Week. It keeps what you save in this browser.

Open the demo full screen

For the owner

Replace one file. It’s your studio.

Every name, class, time, trainer and price lives in one typed content module. Change it and the whole site follows: timetable, filters, profiles, pass cards, the calendar export. A test suite fails the build if a class points at a trainer who doesn’t exist or a plan forgets a feature, so you can’t break it quietly.

backend
0
external requests
0
content module
1
src/content/site.ts
export const site = {
  id: "northgate-fitness",
  name: "Northgate Fitness",
  tagline: "Train with people who know your name.",
  email: "hello@northgatefitness.example",
  hours: [{ label: "Monday – Friday", value: "6:00 am – 9:00 pm" }],
  currency: "$",
};

Classes, trainers, sessions and passes sit in studio.ts next to it.

See the week. Save three classes. Export it.

Two minutes in the demo tells you more than this page can.