Only paid when the coach gets paid
NForge is our own product: a platform for independent personal trainers covering clients, programmes, scheduling, live classes and money, with native iOS and Android apps and public storefronts on the web. There is no subscription. The platform takes 7.9% when a coach gets paid, and nothing when they don't, so its incentives point the same way as theirs.
Visit NForge
The market, and the problem worth solving
The UK fitness market is worth about £6.5 billion, with 11.3 million gym members, and a large share of the coaching in it is delivered by independent trainers running one-person businesses. They are athletes, salespeople and admin departments in the same body, and software treats them like enterprises.
The incumbent tools charge monthly tiers that climb as the client list grows, then stack paid add-ons on top: payments as an extra, video as an extra, nutrition as an extra. A realistic setup often costs double the headline price. The bill rises when a client signs up, whether or not that client ever pays, shows up or stays.
Meanwhile the actual pain is cash. In the FSB's 2025 research, 61 percent of small businesses said late payments hold them back, and more than half write off some invoices rather than chase them. For a trainer, an unpaid session is an evening's work gone.
So NForge inverted the model. No subscription at all, and a 7.9 percent fee taken only when money actually moves. If the coach has a bad month, so do we. That single decision shaped most of the engineering that follows.
What we built
One platform with three faces: a native app where coaches run their business, public storefronts where clients find and book them, and the machinery underneath that moves the money.
The coach app
Native iOS and Android from one Flutter codebase: clients, programme building, scheduling, earnings and the day's sessions in twelve modules and 48 screens. Coaches run their whole business from a phone, because that's where they actually are.
Programmes as templates
Multi-week programmes built from reusable workout and nutrition days, numbered rather than dated so one template serves many clients. Delivered to clients as designed PDFs in four layouts, invoiced on assignment.
Live classes, up to 50 in the room
Video classes on LiveKit with recurring schedules, in-person classes handled with the same booking flow, and a Chromecast studio mode where the TV joins the class as a silent participant and the remote can mute the coach's mic.
Storefronts and a marketplace
Every coach can claim a handle and publish a public page with bookable classes and sellable programmes. Clients buy in the browser with Stripe and never need an app or an account.
Money that follows delivery
When a client prepays a ten-session block, the coach's money is released session by session as each one is actually delivered. Fairer for clients, safer for disputes, and the platform's fee follows the same rhythm.
Trust built on attendance data
Every join and leave in a video session is recorded. Sessions that ran under five minutes or where no client turned up are flagged automatically and their payout held for review, which protects clients without paperwork.


The engineering
A payments platform wearing a fitness app's clothes. Around 110,000 lines across the .NET backend, the Flutter app and the Next.js web surface, and the parts we're proudest of are the ones nobody sees.
Tenancy in the primary key
Every table's primary key is business, user and entity together, and IDs are distinct compile-time types, so a cross-tenant query is a type error rather than a code-review hope. Entities live as JSONB documents beside an audit table recording every change as a delta.
Two stores that cannot drift
PostgreSQL holds the truth, Elasticsearch serves every list and search. The trick is in the ordering: the search-index write happens inside the open database transaction, and the commit only fires if it succeeds. The classic dual-write bug is designed out rather than monitored for.
Payments engineered for the bad day
Charges and transfers are separate, with a 24-hour hold before release and reconciliation assertions that refuse to persist a split that doesn't add up. Prepaid blocks release per delivered session. Refunds hand back our fee too.
One binary, five jobs
The same build runs as public API, admin API, event worker, transfer scheduler and session reaper. Twenty-three Pub/Sub consumers handle everything asynchronous, from email to AI generation, each tuned with its own acknowledgement deadlines.
Tested like it handles money
1,258 backend tests against roughly 42,000 lines of production code, nearly one line of test per line of product. The Flutter app carries 109 test files including end-to-end flows that drive the real UI.
AI with a job to do
Fitness software's AI story is mostly beta workout builders bolted onto subscription tiers. Forge AI is different: a production pipeline that generates complete training and nutrition programmes, with the validation engineering to make the output trustworthy enough to sell.
A pipeline, not a prompt
Generation runs as four model calls: a recipe bank, week one, the remaining weeks as compact deltas, then an independent AI verifier. Output uses a custom terse schema rather than JSON, which cuts token cost enough to matter, and a strict parser rejects anything malformed instead of guessing.
Numbers are computed, never believed
Calories are always derived arithmetically from macros, portions are scaled deterministically, and thirty-odd validation gates check everything from allergen derivatives (peanut catches satay) to injury contraindications to whether a load drop is a planned deload or a model losing the plot. When repair fails, a plan degrades to human review rather than silently shipping.
Models chosen by bake-off
A standalone evaluation harness runs the real pipeline across synthetic and replayed intakes, and plants known defects to measure whether the verifier catches them. The current primary model won its place on results and cost, with Claude as fallback, and every generation records per-call cost telemetry. A typical programme costs pennies to generate.
The demo is the onboarding
Anyone can try Forge AI on the website without an account. The trial runs the genuine production pipeline, quietly pre-creates an inactive account, and when that visitor later registers, their programme is already waiting. Rate caps, a daily budget breaker and a kill switch keep the free funnel from becoming a free lunch.
Shape, effort and money
NForge is our own bet, built the way we build for clients: in phases, each one earning the next.
Indicative investment
£260k to £340k for this shape
A multi-tenant fitness platform of this shape, web and native mobile, Stripe Connect payments, live video and notifications, typically runs £260,000 to £340,000 over 30 to 40 weeks with a senior team of three to four. Multi-year products grow well beyond that in phases. Excludes VAT and third-party costs, at London rates as of mid-2026. Bands for the shape, not an invoice.
Where it landed
NForge is live on the App Store and Google Play with its marketplace open on the web, and the commercial model works the way the code says it does: the constant is 7.9 percent, an override can only ever lower it, and nothing charges a coach monthly.
It also serves as our proving ground. The patterns here, tenancy in the primary key, the dual-store commit ordering, the AI validation gates, are the ones we now bring to client builds with the confidence of having run them in production ourselves.
Asked about this project
NForge is a business platform for independent fitness coaches and small studios: client management, multi-week programme building, scheduling, live video classes, public storefronts and payments. It has native iOS and Android apps and costs nothing monthly; the platform takes 7.9 percent of transactions.
Ready to build the thing?
Book a free 30-minute call. We'll dig into your idea, your stack and your timeline, and give you an honest read on what it will take to build and launch. You'll leave with a clearer plan whether or not you hire us.