My own product
Lily SportOS: a SaaS platform for sports clubs
Lily SportOS is my own product. It helps sports clubs manage athletes, competitions and payments in one place instead of spreadsheets, group chats and paper.
- Role
- Architecture, development, deployment
- Type
- Multi-tenant SaaS
- Market
- Sports clubs in Ukraine


Real interface: the tatami judging console and the athlete app in Telegram
The problem
Sports clubs run on spreadsheets, messengers and paper logs. Payments are tracked by hand, athlete data is scattered, and organising a competition takes weeks. They needed one system that covers all of this and works for many clubs at once.
What I built
- A multi-tenant architecture: every club gets its own workspace with separate data, settings and roles.
- Monthly payment tracking: who has paid and who owes, with no notebooks or manual reconciliation.
- Tournaments, including events for several clubs: brackets assigned to tatami, a judging console with timer and points, and a scoreboard for spectators.
- Athlete passports with history and achievements.
- Attendance tracking and club statistics: athletes, trainings, revenue.
- Automatic Telegram notifications: training reminders, payment debts, birthdays.
- An admin panel for club managers and memberships for fitness clubs.
- A Telegram Mini App for athletes and coaches in two languages, with nothing to install.
- Infrastructure on my own VPS with Docker Compose.
What this means for you
I bring the same approach to client projects: thought-through architecture, payment and messenger integrations, a usable admin panel and a stable deployment. If your business runs on spreadsheets and manual work, that can move into a system that runs on its own.
What it looks like
Club dashboard
Managers run payments, groups, events and statistics in the browser.
Stack
- NestJS
- TypeScript
- React
- Telegram Mini Apps
- PostgreSQL
- Docker Compose
How the work went
How work on this project went, from understanding the problem to launch and improvements.
- 01
Discovery
Looked at how clubs manage athletes, payments and competitions: spreadsheets, group chats, paper logs and weeks spent organising a single tournament.
- 02
Solution design
Designed a multi-tenant architecture with separate data and roles for every club, and split the product into modules: payments, tournaments, passports, attendance, notifications.
- 03
Build
Building it module by module: a NestJS and PostgreSQL backend, a React club dashboard and a Telegram Mini App for athletes and coaches.
- 04
Testing
Every module is checked against real club scenarios: monthly payments, a bracket across several tatamis, judging with a timer and scores.
- 05
Launch
The platform runs on my own VPS with Docker Compose. A new club is connected without a separate deployment, into its own isolated space.
- 06
Optimisation
I keep improving the product based on feedback from the clubs that already use it, which is where new modules and settings come from.






