TrainerPad: CRM для персональных тренеров
Приложение, где тренер ведет клиентов, расписание, тренировки и абонементы. Работает без сети и само синхронизируется. Сделал один, от идеи до прода.
Скриншоты
Персональный тренер обычно держит все в заметках и таблицах: кто когда записан, какие веса брали в прошлый раз, сколько занятий осталось по абонементу. TrainerPad собирает это в одно приложение на телефоне. Тренер видит расписание на день и проводит тренировку прямо в зале: подходы, веса, таймер отдыха. Приложение подставляет прошлые результаты, а после занятия списывает его с баланса клиента.
В зале связь часто пропадает, поэтому приложение работает офлайн. Данные лежат в IndexedDB на устройстве, а свой движок синхронизации отправляет изменения на сервер, когда сеть возвращается, и разбирается с конфликтами, если одно и то же правили с двух устройств. Как он устроен, рассказано в кейсе ниже.
Делал один, от идеи и интерфейса до сервера и деплоя: React и Zustand на фронте, Express, Prisma и PostgreSQL на бэке, автодеплой на свой VPS. Больше 670 коммитов и 47 релизов, около 51 000 строк кода и 967 тестов. Приложение ставится на экран телефона как PWA, а с октября 2026 есть и десктопная раскладка.








