RPE App
Production Beta
Flutter Riverpod
Cloud Firestore
ACWR Mathematical Modeling
Project Summary & Problem Statement
Athletes and strength coaches require rapid, low-friction logging (< 10 seconds per session) to track Training Load, Foster's Session RPE (sRPE), and the Acute:Chronic Workload Ratio (ACWR) to make data-informed periodization adjustments and prevent overtraining syndrome.
Bruno's Role & Engineering Contributions
- Role: Co-founder & Lead Developer (in partnership with sports science specialist Unai Cerezo).
- Architecture: Designed a Feature-First Clean Architecture in Flutter with Riverpod for reactive, predictable state management.
- Mathematical Modeling: Implemented real-time calculation of Session RPE (\(sRPE = RPE \times \text{Duration in minutes}\)) and exponentially weighted moving averages for acute (7-day) and chronic (28-day) workload ratios.
- Offline-First Persistence: Enabled robust local SQLite/Firestore offline caching to guarantee seamless logging in remote training facilities and gyms without cell reception.
Scientific Rationale & Evidence Disclaimer
In alignment with modern sports science meta-analyses (e.g. Gabbett, Windt et al., 2020โ2025), ACWR is utilized as an observational workload monitoring tool rather than an infallible deterministic injury predictor. It aids coaches and athletes in identifying dangerous workload spikes (>1.5) and sweet-spot training volume (0.8โ1.3).
Architecture Overview
Client Layer: Flutter (iOS, Android, Web)
State Management: Riverpod (StateNotifier / AsyncNotifier)
Navigation: GoRouter with strict auth & role guards
Backend: Firebase Auth (1-tap Google Sign-In) & Cloud Firestore
Data Persistence: Cloud Firestore with offline persistence enabled