My competition rig was paid for and working three hours a week
My gym owns a full HYROX competition setup. Sleds, SkiErgs, sandbags, wall balls, the whole eight-station sequence, sitting on seven thousand square feet in Belltown.
Two coached HYROX classes use it. Wednesday evening and Saturday morning, ninety minutes each. That is three hours a week. For the other hundred and sixty five hours the most expensive and most differentiated thing in the building is furniture.
Meanwhile there are people in Seattle training for a HYROX race who have nowhere to practise on real stations. They do sled work at a globo gym by pushing a plate across carpet, or they skip the stations entirely and just run, and then they meet a real sled on race day.
Two problems that are obviously one problem. This is what it took to close them, and what it has actually earned so far, which is less than the effort suggests.
The product, in one paragraph
Ninety-minute blocks on the sim stations, weekday mornings and afternoons, thirty five dollars for one athlete and seventy for two. Not a class. No coach on the clock. You get the stations reserved to you, you run your own session, you leave.
That last part is the reason it can exist at all. A class costs coaching hours. This costs nothing but time on equipment that was already sitting idle, which means it can be priced at a point a visiting athlete will actually pay without anybody doing arithmetic about labour.
The decision that made it a week instead of a quarter
The obvious way to build this is a booking system: inventory, availability, holds, payment, cancellation, a calendar. That is a real product and it is a quarter of work.
We did not build that. We modelled a sim block as a class.
The gym already had classes. Classes already have a start time, an end time, a capacity, a booking path, a payment path, a waiver, a roster the coaches can see, and a cancellation story. All of that was built, tested and in daily use. A sim rental block is a class with no coach assigned and a different price.
The first commit that mattered was not code. At 16:45 on 29 August the platform side wrote a contract document fixing the URLs and API shapes. The booking system landed at 20:41 the same evening. Four hours, because almost nothing new had to be invented.
There is a real cost to that decision and it showed up immediately. A sim block is a class, so it appears in class lists, on coach rosters, in the schedule grid. On 1 September we had to teach the portal and the coach view to collapse sim blocks into Open Gym so the schedule did not read as though the gym had suddenly added thirty classes a week. Reusing an abstraction means inheriting everywhere it already shows up.
Two stations, and why that is the whole pricing model
The floor has two SkiErgs. Not one, not four. Two.
So a block holds two independent parties. One person books, and the block stays open for a second, and both train the same ninety minutes without queueing for a machine.
That single physical fact drove the data model. A block carries a slotsOpen count from two down to zero, and a separate boolean for whether it is still sellable at all. The boolean stays true while one slot remains.
I got this wrong from the marketing side and it is worth admitting because it is the kind of error that looks like a crisis. I read only the boolean, saw a block still marked available after somebody had paid for it, and reported to my own gym that we had a double-booking risk on a customer who had already given us seventy dollars. We did not. The server counts occupancy per station, including unexpired payment holds. I had inferred the field semantics from live JSON rather than reading the contract, because the contract lived in a repository I could not see. That is fixed now: the field semantics are written down on both sides.
The part that took longer than the booking system
The booking system was an evening. The things around it took a week, and they are the reason it works rather than merely exists.
Pair partners have to sign their own waiver. If two people share a block, the person who paid cannot accept liability on behalf of a friend who has never been in the building. That is not a feature, it is the difference between a product and a lawsuit.
Waivers chase on a cadence: day before, day of, one hour out, for both people. An unsigned waiver at the door is a refund and a wasted slot.
Coaches see a SIM pill on the roster and partner details in the Slack alert, because a coach walking the floor needs to know why two strangers are on the sleds during open gym.
And on 7 September an orientation email started auto-sending on payment confirmation, to both the buyer and the partner. Nobody is standing there to explain the stations, so the explanation has to arrive before they do.
None of that is interesting engineering. All of it is what separates a booking form from something a stranger can use unsupervised in a gym full of members.
What it has actually earned
One booking. Seventy dollars, a pair, for a Thursday morning block.
Six days from the first commit to the first paid sale by a non-member, on equipment that was already bought and already idle. The marginal cost of that seventy dollars was close to zero.
I also checked where it came from rather than assuming, because we started a small ad campaign in the same window and it would have been convenient to credit it. It was not the ads. The purchase carried no click id, no sim rental call to action was clicked from any paid session in seven days, and the buyers turned out to be returning trial members from August who first arrived through the HYROX page. Word of mouth and owned channels.
What this does not prove
One sale is not demand. Seventy dollars is not a business. A single pair booking, from people who already knew the gym, is the weakest possible evidence that strangers will pay for this.
It does not prove the ads work, and the honest reading is that they have not yet: twenty one paid sessions and no conversions in the same period. It does not prove the pricing is right, because one transaction cannot tell you whether thirty five is too low. It does not prove the idle-asset theory generalises, because I have one asset in one gym in one city.
What it does prove is narrower and still worth having. The thing is buildable in a week if you are willing to reuse an abstraction you already own, a stranger can complete the whole path without a staff member touching it, and money arrives at the end. That is enough to justify keeping it open and watching for a month. It is not enough to write a case study about, which is why this is not one.
The transferable part
If you run a business with physical capacity, the question is not what new thing you could sell. It is what you have already paid for that is idle most of the week, and whether the thing standing between it and a stranger's card is genuinely a product problem or just an operational one nobody has bothered to solve.
For us it was operational. Waivers, orientation, and a roster label. The booking system was the easy part, and it was the only part that looked like software.
First published on ravikantdewangan.com.


