Skip to content

Form Lab

Gym & Fitness Coaching Pro Agent-ready i18n-ready

Dark, high-energy Astro theme for gyms, personal trainers, and training studios. Oversized italic display type, acid lime accents, coach and program collections, and a working BMI calculator.

$59
Read the Form Lab docs Lifetime updates Personal & client use
All-Access Pass

One payment for Form Lab and everything else - all 31 themes, every future release, and the visual builder included.

$968 $199 one-time
Get the All-Access Pass
A closer look

See Form Lab in action

Every page and section is part of the download. Use these as launch-day templates - keep the structure, swap the copy.

Homepage hero
Coaching services
Training programs
11
Pages
35
Sections
3
Collections
Lime
Accent

Form Lab is built for training businesses that sell results, not equipment lists. The homepage opens on a full-bleed gym photograph with TRAIN BETTER set in oversized italic caps, then moves through coaching services, membership pricing, transformation goals, and coach profiles. Three content collections cover programs, coaches, and a fitness journal, so adding a new coach or program is one Markdown file. An interactive BMI calculator gives visitors a reason to engage before they ever fill in a form.

Best Fit For

  • Gyms and training studios
  • Personal trainers
  • Strength and conditioning coaches
  • CrossFit and functional fitness boxes
  • Online coaching businesses
  • Yoga and pilates studios

Full Page Set

Every page is real and editable - no placeholders, no "coming soon" stubs.

Home
Programs
Program Detail
Coaches
Coach Profile
Pricing
Journal
Journal Post
About
Contact
404

35 Sections Included

Every section is a ready-to-use Astro component. Add it to any page, customize via config, or remove what you don't need.

Header / Nav
Sticky navigation with logo, links, mobile menu, and CTA button
Hero
Full-width hero with heading, subtext, CTAs, and product visual
Features Grid
3 or 6 column feature cards with icons and descriptions
Image + Text
Alternating image and text blocks for storytelling
Pricing Table
2-3 tier pricing cards with feature lists and CTAs
FAQ Accordion
Expandable questions and answers with smooth transitions
Testimonials
Customer quote cards with ratings and author info
CTA Banner
Full-width call-to-action with gradient or dark background
Footer
Multi-column footer with links, social icons, and copyright
Logo Cloud
Trusted-by row of brand logos or company names
Blog Grid
Card grid of blog posts with categories, dates, and excerpts
Blog Post
Full article layout with prose styling, author, and share
Stats / Numbers
Key metrics row with large numbers and labels
Team / About
Team member cards with photos, roles, and bios
Contact Form
Configurable form with Formspree, FormSubmit, or Netlify
Newsletter
Inline email signup with configurable provider
Carousel
Auto-scrolling testimonial or content slider
Video Embed
YouTube or Vimeo embed with responsive 16:9 container
Timeline
Vertical timeline with year badges and milestone cards
Comparison Table
Feature comparison grid with check/x indicators
Gallery Grid
Image gallery in masonry or grid layout
Tabs Content
Switchable tab panels with icons and descriptions
App Download
App Store and Google Play buttons with store links
Map Embed
Google Maps embed with address and contact details
Sidebar Nav
Tabbed sidebar navigation for docs or settings pages
BMI Calculator
Interactive height/weight/age BMI tool with instant banded feedback
Coach Spotlight
Featured coach cards pulled from the coaches collection
Coach Profile
Full coach detail page with specialties and certifications
Program Grid
Training program cards with duration and focus
Program Detail
Program page with weekly schedule and what-is-included list
Transformation
Goal-based outcome tiles with custom icons for fat loss, muscle, HIIT
Coaching Philosophy
Mission grid with icons and a closing statement for the About page
Membership Highlights
Numbered benefit rows supporting the pricing table
Preloader
Branded loading screen, toggleable from the config file
Section Library
Private /sections route previewing every block in one page

What's Included

Three content collections - programs, coaches, and journal - each generating its own detail pages
Interactive BMI calculator with banded, plain-language results
Oversized italic display headings set against full-bleed training photography
Acid lime accent on near-black, carried through buttons, eyebrows, and icons
Membership pricing table with a featured plan and per-plan feature lists
Configurable contact form - Formspree, FormSubmit, Netlify, or your own endpoint
Branded preloader you can switch off in one line of config
Private /sections route previewing every block, excluded from the sitemap
No jQuery and no Bootstrap JavaScript - motion is GSAP and Lenis, bundled from npm
WebP imagery throughout, 1.8MB for the whole theme

Collections, Not Hardcoded Pages

Programs, coaches, and journal articles each live in their own Astro collection. Drop in a Markdown file and the grid, the detail page, and the homepage spotlight all update. Nobody has to touch a component to add a sixth coach.

A Tool, Not Just a Brochure

The BMI calculator runs client-side and returns a banded result in plain language rather than a bare number. It gives a first-time visitor something to do on the page, which is the step most fitness sites skip between landing and the contact form.

Fast Without Asking

143KB of JavaScript for the whole site, not the 963KB of jQuery plugins most fitness templates ship. Imagery is WebP throughout. Scroll reveals, the slider, the lightbox and the counters are small modules you can read in a sitting, and every one of them respects prefers-reduced-motion.

Dark by Design

Near-black surfaces with a single acid lime accent, chosen so training photography carries the color instead of competing with it. Oversized italic caps do the shouting; everything else stays quiet and readable.

Set up in minutes

Forms, newsletter, and analytics - pre-wired

Form Lab is ready to connect to your preferred providers. Pick from the options below, drop in a single API key, and your contact form, newsletter signup, and analytics are live - no backend, no JavaScript, no glue code.

Contact form

The Contact section's <form> renders with no JS. Set one provider in site.ts; the form action wires automatically.

  • Formspree
    50 free submissions / month, no domain restriction
  • FormSubmit
    Free, no signup - just an email confirmation
  • Netlify Forms
    Free 100/month - Netlify hosting only
Setup guide

Newsletter

The Newsletter form sends subscribers directly to your ESP. The email input name auto-adjusts per provider.

  • Mailchimp
    Standard EMAIL field; honeypot supported
  • ConvertKit (Kit)
    email_address field; works with any form ID
  • Buttondown
    email field; lightest, indie-friendly
Setup guide

Analytics

Layout.astro injects the right script tag based on the provider you choose. No client-side branching.

  • Google Analytics 4
    Paste your G-XXXXXXXXXX measurement ID
  • Plausible
    Privacy-friendly, ~1 KB script, no cookies
  • Umami
    Self-hostable, also cookie-free
Setup guide

Tech Stack

Astro 7 Tailwind v4 TypeScript Responsive SEO Ready Blog Ready

Config-Driven Setup

Every theme uses a single src/config/site.ts file for customization. Change your brand, navigation, form providers, analytics, and section content without touching component code.

Full site.ts reference in the docs

site.ts
// src/config/site.ts
export const siteConfig = {
  name: "Your Company",
  tagline: "Your tagline here",
  url: "https://yourdomain.com",

  navigation: { sticky: true, links: [...], cta: {...} },
  social:     { twitter: "...", github: "...", linkedin: "..." },
  seo:        { title: "...", description: "...", ogImage: "/og.png" },

  // ── Provider switches ────────────────────────────────
  contactForm: { provider: "formspree",  formspreeId: "your-id" },
  newsletter:  { provider: "convertkit", actionUrl: "https://..." },
  analytics:   { provider: "plausible",  plausibleDomain: "you.com" },

  // ── Section data ─────────────────────────────────────
  team, video, timeline, comparison, gallery,
  carousel, tabs, appDownload, map, footer,
} as const;
Agent-ready

Built to be edited by AI

Form Lab ships an AGENTS.md and a CLAUDE.md at the project root. Claude Code, Cursor, Copilot, and Codex read them the moment you open the folder.

So your agent starts knowing which file to edit, which design decisions are deliberate, and which parts of the theme break quietly if touched. You get the right change on the first pass instead of a confident guess.

  • A task map. Every common request routed to the exact file, so no time is spent exploring.
  • Design invariants. The decisions that make the theme worth buying, marked do-not-touch.
  • The traps. The specific things that break this theme silently, written down.
  • A done checklist. What to build, what to scroll, what to verify before claiming success.
AGENTS.md
# AGENTS.md - Form Lab

## Task map
| The client wants to change | Edit |
|---|---|
| Brand name, logo, favicon | site.ts -> identity     |
| Colors                    | site.ts -> theme        |
| Any homepage copy         | site.ts -> home.<block> |
| Add a page or an article  | new .md in src/content/ |

Rule: copy belongs in site.ts, never inside a component.

## Design invariants
Do not "improve" these. They are why the theme is worth its price.
- The accent stays loud. Do not mute or pastel it.
- Display headings stay oversized. The scale is the design.

## Traps
The things that break this theme silently, written down,
so your agent does not have to discover them by breaking them.

## Before you say you are done
npm run build      # must succeed and emit every route
Scroll each page to the bottom. Report what you did not verify.

Excerpt. The full file ships with the theme.

Full documentation, ready before you buy

Browse the install guide, the site.ts reference, provider setup, deploy instructions, and the Form Lab-specific page - all live now.