Project
LAP - Lift and Progress Fitness Tracker
A Flutter app for fitness tracking with interactive logging, social features, calendar-based progress views, and Firestore backend.
Overview
LAP (Lift and Progress) is a fitness tracking app built with Flutter. You log workouts and look back at them over time. There is a social side to it as well: friends, shared achievements, community challenges.
Features
- Workout logging covers exercises, sets, reps, and weights, through an interface built to stay out of the way.
- You can add friends, share achievements, and join community challenges.
- A calendar view lays out workout history so progress over time is visible.
- Firestore keeps everything synced across devices in real time.
- Streaks, achievements, and progress milestones are there to keep people coming back.
Technical highlights
Flutter architecture
One Flutter codebase covers every platform the app ships on. It follows clean architecture, so concerns stay separated, and state management drives the reactive UI updates. The workout logging screens are custom widgets.
Firestore backend
Firestore does the real-time sync. It also handles offline through local caching, and the data sits in a NoSQL structure that scales.
Social integration
Friends connect to each other and get an activity feed. Workouts can be shared, other people react to them, and community challenges have leaderboards.
Data architecture
The Firestore schema has four pieces:
- User profiles, with workout preferences
- An exercise library, including exercises users add themselves
- Workout sessions with detailed metrics
- Social connections and activity feeds
Lessons learned
Building LAP built up my skills in Flutter app development and state management, the Firebase ecosystem (Auth, Firestore, Analytics), designing intuitive mobile UX, and real-time data synchronization patterns.