Bookr
LiveOne platform to run a gym or CrossFit box — plus a free app for its athletes.

The problem
Bookr started at Off Limits CrossFit in Rato, Lisbon — the box where I train. I got to know the staff and the members, and the same frustration kept surfacing from both sides of the front desk.
For members, me included: an app with every feature and no way to find any of them. Buggy, awkward to move around in, and laid out so poorly that booking a class or checking your subscription turned into a hunt.
For the staff, worse. Everything the app could not do lived in a pile of Excel files maintained by hand — class fill rates, member trends, the numbers you actually need to decide whether a 7am slot is worth keeping. The rest of the week went to answering the same questions over and over on social media, and to fighting software that quietly cost them hours every single week.
The goal was never a better feature list. It was to give both sides of that desk their time back: "Menos burocracia. Mais treino."
What I built
Running the box
- •Class scheduling with capacity, reservations and automatic waitlists
- •Memberships, attendance tracking and subscription state
- •Staff roles and access control for coaches and admins
- •Billing and financial overview
- •Targeted athlete comms by email and push notification
Training
- •Workout programming backed by an exercise library
- •Personal records and progress tracking
- •Per-class leaderboards for the day’s results
Athlete app
- •Free companion app: book a class in two taps
- •Own progress, PRs and subscription status
- •Leaderboards and box announcements
Stack
Frontend
- Next.js (App Router)
- React Native / Expo
- TypeScript
- Tailwind CSS
Payments
- Stripe
- Eupago
- EasyPay
Infrastructure
- Vercel
- Push notifications & transactional email
Where it stands
Bookr is in production. The first box runs on it day to day, and the same operator’s two other boxes migrate across in October and November.
Automated payment collection is what I am building right now: recurring membership billing through Stripe and the Portuguese providers Eupago and EasyPay, so a box stops chasing transfers by hand.
Supporting local providers alongside Stripe matters more than it looks. It is the difference between a nice product and something a box can actually run its revenue on — and it is the one feature the operator I am currently in conversation with is waiting on before signing.