# Sprint Coach

Nathan’s coaching business grew by word of mouth. His first website needed to show athletes and parents who they would be training with, and make the next step easy.

[Visit site](https://sprintcoach.co.nz)

Sole designer and developer. I ran the project end to end: design direction, content, build, SEO, launch, and client handover.

![The Sprint Coach homepage: the brand mark and navigation above a headline reading run faster, move quicker, perform higher, beside a photograph of four sprinters at Newtown Park tagged with a free first session.](https://cdn.sanity.io/images/qnuj1c4o/production/7bfb0acc71fcb21de04bdeb62ce0c664ebb6180d-2400x1250.webp?w=1920\&q=80\&auto=format)

## A coaching business with no website at all

Nathan had built a growing group of Wellington athletes entirely through word of mouth. There was nothing a prospective athlete or parent could read before getting in touch, no explanation of what a session actually involves, and nothing for local search to find.

## No invented numbers

For a solo coach the person is the product, so the site leads with Nathan rather than burying him on an About page. Every claim traces back to something verifiable and the copy carries no invented figures. Where a number would have been persuasive but unfounded, the site says nothing instead.

## Static pages, one moving part

The site is built with TanStack Start and React, and every public page is prerendered to static HTML at build time. The only server-side code is a single serverless function that takes an enquiry and sends notification and confirmation email over authenticated SMTP. All copy lives in one content module, so the text can move to a CMS later without touching the components.

## The client approves the exact commit that ships

Staging and production are deliberately separate projects. Staging follows the main branch automatically and serves noindex headers, so review builds never compete with the real site in search. Production has no Git integration at all and is deployed by hand, only once Nathan has approved that same commit. A build audit checks routes, links, metadata, and discovery files before anything is deployed.

## Handover was part of the work

The site is live at sprintcoach.co.nz with local SEO structured data and a documented launch checklist covering DNS, mailboxes, and the Google Business Profile. Nathan controls the domain and the mail, so the parts he needs to own are written down rather than left in my head.

## Outcome

The site is live at sprintcoach.co.nz with a working enquiry form, local SEO structured data, and a documented launch checklist handed to the client. Nothing reaches production until the client has approved the exact build that ships.

Enquiry flow

### The one moving part on a static site

![The Sprint Coach enquiry form, with name, email, enquiry type, and message fields beside the coach’s contact details.](https://cdn.sanity.io/images/qnuj1c4o/production/1d292faefc594979a98e44b2c22720c95b15a0a1-2400x1250.webp?w=2400\&q=80\&auto=format)

Every page is prerendered. The enquiry form is the only route that reaches a server, sending notification and confirmation email over authenticated SMTP.

[All work](/work)

Get in touch

## Have a website in mind?

[Book a call ](https://cal.com/hamishburke/30min)<hamishapps@gmail.com>
