Fitbord · Operating system for fitness spaces
Internal product. Multi-tenant SaaS for running fitness spaces: members, subscriptions, passes, invoicing, attendance, loyalty, and door counting from a local sensor.

A space owner runs the business across a spreadsheet, a notebook and a WhatsApp thread. They do not know how many members are genuinely active, which invoices are unpaid, or how many people came in yesterday. Existing tools are either generic CRMs with the word "gym" pasted on, or point-of-sale software that ignores what happens on the floor.
A multi-tenant SaaS on AdonisJS 7 and Postgres, with 91 data models and 123 migrations: members and custom fields, plans and passes, invoices and daily cash reconciliation, attendance, classes and schedules with wait lists, exercises and session reports, loyalty, referrals, competitions and leaderboards, equipment and maintenance. Eleven applications share the monorepo, including a manager back office, a member PWA portal, a platform back office and a per-space microsite generator. Payments go through an external provider, real time through AdonisJS SSE, observability through OpenTelemetry.
The most interesting piece technically is the counting agent. A space does not know how many people actually came in: check-ins get missed, badges get lent. An agent installed on site reads a local camera stream, derives anonymous directional door crossings, and publishes only counters to the API. No identity is computed and, by default, no imagery leaves the device.
The gap between that counter and recorded check-ins becomes the useful indicator: it surfaces unrecorded entries without surveilling anyone. An Android variant exists for spaces with no dedicated machine.
- Data models
- 91
- Migrations
- 123
- Monorepo apps
- 11
- Commits
- 726
- Tailwind CSS
- Vite
- S3
- Redis
- AdonisJS
- Postgres
- Python
- React
- Next.js
- TypeScript





