All work
The Camp Transformation Center · Whittier

Grand reopening funnel

A gym under new ownership had one month to convert local interest into memberships. The page had to work on a phone, in a parking lot, in under a minute.

RoleBuilder
DisciplineLead generation
StackStatic + serverless
The Camp Whittier grand reopening landing page
Live site — thecamp-whittier-reopening-promo.vercel.app

The problem

New ownership, a dollar-for-your-first-month offer, and a hard date. Everything hung on converting attention into a booked first class before the promotion expired.

The constraint that shaped every decision: almost all the traffic would arrive from a phone, via Instagram or a text from a friend, and would give the page well under a minute.

What I built

A single mobile-first page that does exactly one job — pick a class, submit, done. No account, no payment online, no CRM integration to go wrong at the moment of conversion.

On submission, two emails fire: one to the team formatted for how they actually work, and one to the prospect confirming the booking with a calendar invite attached. Staff update their sales system by hand, which sounds primitive and is in fact the correct call — it keeps the critical path short and gives the front desk a human touchpoint.

One backend, two hosts

All the server logic lives once, in a shared module holding validation and both emails. Two thin adapters expose it — one for Netlify functions, one for Vercel. The page always posts to the same path, and host configuration rewrites it as needed.

The reason is unglamorous and practical: a small business should never be stuck with a host because their landing page is welded to it. Moving is a config change, not a rebuild.

Beyond the page

A landing page alone does not run a promotion. The same project produced the surrounding material: QR codes in print-ready formats with ready-to-print counter signs, a front-desk playbook that works as a web page and a PDF from one source file, text-message follow-up templates, and a testing checklist to run before the link went out.

It is built on the same engine as the Huntington Beach page, deliberately kept as a separate folder, repo, deploy and data store — so retiring this promotion can never disturb the other location's live funnel.

Working with the client

Two days before launch the client came back with changes: special hours for the Monday, and a rename from “Reopening” to “Grand Reopening Event” so members understood the gym was already open and this was an event, not a return from closure.

That second note was a genuine catch — the original wording would have cost them walk-ins from people who assumed the doors were shut. Both changes went live the same day, and the current site reflects them.

Next case Project operations in Buildertrend