Skip to content
codexa

Websites · React

Boxing & strength gym

High-contrast dark gym site with training styles, the class timetable, memberships, coaches, FAQs and a free trial.

Boxing & strength gym starter, as built from its own files
Starter screenshot captured from this template's own build at 1440×900. It shows the template as it ships, not output generated from a prompt.

What you get

A site for a boxing, strength or conditioning gym: a dark, bold theme, training styles, the weekly class timetable, membership prices, the coaches, beginner questions and a free trial sign-up. All content lives in src/site.ts.

Files

Exactly what is copied into a new project: 13 files, nothing generated.

Raw data: GET /api/v1/templates/site-boxing-gym

src/site.ts
src/site.ts
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = {  "brand": "Ironbark Boxing Club",  "nav": [    {      "label": "Training",      "href": "#training"    },    {      "label": "Timetable",      "href": "#timetable"    },    {      "label": "Membership",      "href": "#membership"    },    {      "label": "Coaches",      "href": "#coaches"    }  ],  "navCta": {    "label": "Free trial",    "href": "#contact"  },  "sections": [    {      "kind": "hero",      "variant": "center",      "eyebrow": "Boxing & strength · Footscray, Melbourne",      "title": "Learn to box. Get strong. Leave the ego at the door.",      "text": "A coached gym with one ring, a lifting floor and classes of up to 20. Complete beginners start every Monday.",      "primary": {        "label": "Book a free trial",        "href": "#contact"      },      "secondary": {        "label": "See the timetable",        "href": "#timetable"      },      "visual": {        "type": "none"      },      "note": "First class free. Gloves and wraps provided."    },    {      "kind": "stats",      "items": [        {          "value": "38",          "label": "Classes a week"        },        {          "value": "20",          "label": "Max per class"        },        {          "value": "5",          "label": "Full-time coaches"        },        {          "value": "6 am",          "label": "First class, weekdays"        }      ]    },    {      "kind": "features",      "id": "training",      "eyebrow": "Training",      "title": "Three ways to train",      "items": [        {          "title": "Boxing fundamentals",          "text": "Stance, footwork and combinations on pads and bags. No sparring unless you ask for it.",          "icon": "bolt"        },        {          "title": "Strength",          "text": "Coached barbell sessions in small groups, programmed in six-week blocks.",          "icon": "chart"        },        {          "title": "Conditioning",          "text": "Forty-five minutes of intervals: bike, rower, sled and bag work.",          "icon": "clock"        }      ]    },    {      "kind": "hours",      "id": "timetable",      "eyebrow": "Timetable",      "title": "Weekly timetable",      "text": "Boxing, conditioning and strength classes rotate through the week. Open gym whenever the ring is free.",      "rows": [        {          "day": "Mon · Wed · Fri",          "time": "6:00 · 12:15 · 18:00 · 19:00"        },        {          "day": "Tue · Thu",          "time": "6:00 · 17:30 beginners · 18:30 sparring"        },        {          "day": "Saturday",          "time": "8:00 · 9:15 · 10:30 open ring"        },        {          "day": "Sunday",          "time": "9:00 strength · open gym to 13:00"        }      ],      "address": "77 Hopkins Street, Footscray VIC",      "phone": "(03) 5550 1438",      "email": "train@ironbarkboxing.com.au"    },    {      "kind": "pricing",      "id": "membership",      "eyebrow": "Membership",      "title": "Membership",      "text": "Weekly, billed fortnightly. No lock-in contract, two weeks' notice to cancel.",      "plans": [        {          "name": "Two a week",          "price": "$32",          "period": "/week",          "text": "Any two classes each week.",          "features": [            "All class types",            "Open gym access",            "Free gloves after 3 months"          ],          "cta": {            "label": "Start free trial",            "href": "#contact"          }        },        {          "name": "Unlimited",          "price": "$45",          "period": "/week",          "text": "As many classes as you can handle.",          "features": [            "All class types",            "Open gym 6 am – 9 pm",            "Quarterly progress check-in"          ],          "featured": true,          "cta": {            "label": "Start free trial",            "href": "#contact"          }        },        {          "name": "Personal training",          "price": "$90",          "period": "/session",          "text": "One-on-one with a coach, 60 minutes.",          "features": [            "Fight prep or technique",            "Strength programming",            "Packs of 10 for $800"          ],          "cta": {            "label": "Talk to a coach",            "href": "#contact"          }        }      ]    },    {      "kind": "team",      "id": "coaches",      "eyebrow": "Coaches",      "title": "Your coaches",      "items": [        {          "name": "Mick Tran",          "role": "Head boxing coach",          "tone": "#3f3f46"        },        {          "name": "Jade Okoye",          "role": "Strength coach",          "tone": "#365314"        },        {          "name": "Ricky Santos",          "role": "Boxing & sparring",          "tone": "#44403c"        },        {          "name": "Ellie Grant",          "role": "Conditioning",          "tone": "#57534e"        }      ]    },    {      "kind": "faq",      "eyebrow": "Beginners",      "title": "New here?",      "items": [        {          "q": "Do I have to spar?",          "a": "No. Sparring is a separate, opt-in class on Tuesdays and Thursdays, after a coach says you are ready."        },        {          "q": "I am not fit. Can I still come?",          "a": "Yes. Everyone scales the work to their level, and our beginners' class is exactly that."        },        {          "q": "What should I bring?",          "a": "Trainers, a towel and water. We lend gloves and wraps for your first few sessions."        }      ]    },    {      "kind": "contact",      "eyebrow": "Free trial",      "title": "Book your free class",      "text": "Pick a day and we will hold a spot for you in the beginners' class, with a coach to show you around.",      "fields": [        "name",        "email",        "phone",        "date"      ],      "button": "Book free class"    }  ],  "footer": {    "text": "Boxing, strength and conditioning in Footscray.",    "columns": [      {        "title": "Gym",        "links": [          "77 Hopkins Street, Footscray",          "(03) 5550 1438"        ]      },      {        "title": "Train",        "links": [          "Timetable",          "Membership",          "Personal training"        ]      },      {        "title": "Follow",        "links": [          "Instagram",          "YouTube"        ]      }    ],    "legal": "© Ironbark Boxing Club. Sample content: replace it in src/site.ts."  }};

Remix

Remix this template

Describe what to change and the agent starts from Boxing & strength gym's files. The box is already started for you: finish “Start from Boxing & strength gym and …”

Agent ready

Creates a free account first; your idea is carried over.

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

  • react^19.1.0
  • react-dom^19.1.0
  • vite^6.3.0
  • @vitejs/plugin-react^4.4.0
  • tailwindcss^4.1.0
  • @tailwindcss/vite^4.1.0
  • typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Entry route
/

Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.

All templates

Build on Boxing & strength gym

Create a free account, start from this template, and ask the AI agent to turn it into your app.