
GymFlow — Gym Management and Online Coaching
Small gyms in Iran still track memberships in notebooks and send workout plans as photos in chat. GymFlow puts the club, its coaches and its athletes in one account: memberships with a countdown of days left, fee invoices issued automatically, and online payment of those invoices. Coaches build training programs from an exercise library and write meal plans; athletes tick off each set and meal the same day, and the coach sees the progress. A coach without a gym can use it alone and invite their own students with a link.
// Architecture
A FastAPI service on the shared Orv SaaS core, with a Next.js 14 panel and PostgreSQL; each club is a tenant, and owner, manager, coach and athlete roles are checked on every route. Payments go through the team's Orv Pay gateway (toman card-to-card or crypto) with Zarinpal as the fallback. A Telegram bot on the core's multi-token webhook handles login, the member menu and AI chat, and an hourly APScheduler job sends the daily workout reminders.
// Key capabilities
Fees that invoice themselves
Creating a membership issues the fee invoice for that plan; once the payment is confirmed, the membership is activated without anyone touching it.
A library of 2,142 exercises
Coaches search the library by name or muscle group and build a program from it, or clone a ready template instead of starting from zero.
Streaks and badges
Each day's check-in counts once and adds points, with a bonus every seven days in a row; badges and club challenges are awarded from the same record.
An assistant that knows when to stop
The athlete's assistant answers from their own program, meal plan and fee status, and hands questions about doping, extreme diets or injury symptoms to the coach.
// Technology stack
- Python / FastAPI
- Next.js
- PostgreSQL
- Telegram Bot API
- Claude API
- Docker
// Next step
Need something like GymFlow — Gym Management and Online Coaching?
Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.
Start a similar project


