FitEscala
LiveA company that helps independent gyms in Spain win new members, with the result guaranteed in the contract. I built the lead engine, the landing pages and the CRM it runs on.
- My role
- Co-founder and technical lead
- Year
- 2026
- Built with
- Python · Node.js · Express · SQLite · Static HTML · Railway
Scroll sideways to see the whole diagram.
The problem
Small gyms and studios live on memberships but rarely have a repeatable way to win new ones. The usual answer is an agency on a monthly retainer with no guarantee. FitEscala sells the result instead: a contract with a member target and money back if we miss it. That only works if every step of delivery is recorded precisely.
How it is built
Four parts, all built in-house. A Python lead engine finds and qualifies studios city by city and exports them for outreach. Static HTML landing pages, with no framework and no build step, turn a click into a booked call or a WhatsApp chat. A multi-tenant CRM (Node, Express and SQLite on Railway) runs the pipeline: a daily call queue, follow-up templates, a weekly reconciliation with the client and daily backups. Every event the guarantee depends on, a booked visit or a sign-up, is timestamped in the CRM, because the contract names that record as the source of truth.
Decisions that mattered
Plain HTML for the public pages
The public sites are plain HTML, CSS and JavaScript. A React prototype was replaced with static files: they load instantly and need no hosting work.
The CRM is the contract's record
Delivery metrics map to specific clauses in the contract, so every visit and sign-up is timestamped. The guarantee is a legal promise, and the data behind it has to hold up.
Everything works by hand first
Every step works with a person pressing send. Each one can be automated later without changing what the client sees.
Where it is now
fitescala.com is live, both founders use the CRM every day, and our first client campaign, with a Pilates studio in Barcelona, has been running since October 2026. Campaign numbers will appear here when a campaign has finished, not before.
- 2026.04Company founded with Iván Mieres.
- 2026.07Renamed FitEscala. fitescala.com live, CRM in use.
- 2026.09First client: a Pilates studio in Barcelona.
- 2026.10First campaign running.