Forja
A complete gym website, ready to take a real gym’s brand.
- Client
- Site model
- Sector
- Model · Gym
- Year
- 2026
- Scope
- UX/UI · Copy · Development
Fictional brand, created by BMJ Studios as a model. Figures and reviews are placeholders.
The problem
A gym owner decides on a website by looking at a website, not at a PDF proposal. Showing a wireframe to a gym owner does not work, because what they want to know is whether the sign-up lands in their WhatsApp.
So instead of a proposal I built the whole site under an invented brand, with every section a gym needs and the enrolment flow working.
What I built
The structure covers what actually drives a sign-up: facilities, class types, fitness assessment, instructors, plans with prices, FAQs and enrolment. The form assembles the message and opens straight into WhatsApp, which is where gyms close.
The design is dark and minimal, with a video hero and numbered sections. The same skeleton has already been applied to a proposal for a real gym in Porto Novo, swapping brand, photography, plans and instructors.
Project documentation
Art direction
A gym landing page, and the only project here where the art is almost entirely motion: video filling the hero, short copy over it, one single path to WhatsApp. A gym does not sell on a catalogue — it sells on how the place feels, and that is video, not paragraphs.
Palette
A fictional brand, invented by me to demonstrate the format. I do not document a palette for a brand with no owner.
Why this stack
Static HTML and CSS, no CMS, no build step. A conversion landing page is one page, two blocks of copy and a button — putting WordPress under it would mean hauling a database to serve a file. It deploys anywhere, opens instantly, has nothing to update and nothing to break.
Details
One button, not five
No form, no email, no contact page. The visitor lands in WhatsApp with the message pre-written — and the gym answers from where it already answers.
In numbers
What was built, counted on the site itself.
sections, from facilities through to enrolment
CMS dependency: it is static and loads instantly
destination for the lead: enrolment lands in WhatsApp