Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lift OS

Lift OS is a personal, offline-first strength-training app built with Flutter. Designed to make logging workouts feel intentional rather than administrative — fast at the rack, private by default, and smart enough to help you progress.


Table of Contents


Screenshots

Home Dashboard & Exercise Library

Create Routine & Add Exercise

Progress Analytics & Profile & Settings


Features

Smart Progressive Overload

The app analyzes your last 4 workout sessions to provide intelligent weight and rep recommendations. No more guessing when to increase weight.

How it works:

Condition Action Example
History < 3 sessions +1 rep Building consistency
Reps trending down Hold weight Build back up first
Consistently hitting top of range Increase weight Time to progress
Last set ≤ minimum reps +2 reps Build strength first
Reps improving +1 rep Keep momentum

Metrics analyzed:

  • Rep trends across sessions
  • Weight stability
  • Average reps and consistency
  • Estimated 1RM (Epley formula)

Workout Logging

Start workouts from scheduled routines or create custom sessions on the fly. Every set logged with minimal taps.

Key features:

  • Live workout screen with exercise queue and set tracking
  • Rest timer with countdown, visual progress, and notifications
  • Progressive overload suggestions shown for each exercise
  • Set types: Warmup, Working, Drop, etc.
  • RPE tracking (optional)
  • Drag-to-reorder exercises
  • Add exercises mid-workout
  • Auto-resume interrupted sessions

Set Logging Interface:

  • Large numeric keypad for quick entry
  • One-tap "Use Suggestion" for AI-proposed weight/reps
  • "Repeat Last" to copy previous session
  • Haptic feedback on every tap

Exercise Library

Pre-loaded with 64+ exercises across 7 muscle groups, or create your own.

Capabilities:

  • Search by name
  • Filter by muscle group
  • View exercise details with PR history
  • Progression charts showing:
    • Weight trend
    • Estimated 1RM trend
    • Volume trend
  • Create custom exercises with notes and cues

Routines & Scheduling

Build reusable workout templates and assign them to days of the week.

Routine Editor:

  • Name and description
  • Assign to specific days (Mon-Sun)
  • Configure per-exercise targets:
    • Sets count
    • Rep range (min-max)
    • Rest seconds

Weekly View:

  • Horizontal 7-day strip
  • Tap day to see routine
  • Long-press to assign/change routine
  • Rest day marking

Progress Analytics

See where you're going, not just where you've been.

Available metrics:

  • Weekly volume bar chart with week-over-week comparison
  • Workout frequency (sessions per week)
  • Training days (distinct days trained)
  • Current & longest streak
  • Personal records by muscle group:
    • Highest estimated 1RM
    • Heaviest weight lifted
    • Most reps at a weight
    • Best volume (single set)
  • Strength change percentage for top exercises

Body Tracking

Monitor your physique alongside your lifting.

Features:

  • Body weight logging
  • Height for reference
  • Progress photos (stored locally)
  • Measurements tracking

Backup & Restore

Your data is yours. Export anytime, restore when needed.

Full backup includes:

  • Exercise library
  • Routines and schedules
  • Workout history
  • Personal records
  • Body measurements
  • Progress photos metadata

Exports to portable JSON file.


Tech Stack

Layer Technology
Framework Flutter + Dart
State Management flutter_riverpod
Navigation go_router
Database drift (SQLite)
Data Models freezed + json_serializable
Charts fl_chart
Animations flutter_animate
Notifications flutter_local_notifications
File Handling file_picker, file_saver, share_plus
Secure Storage flutter_secure_storage
Image Handling image_picker

Getting Started

Prerequisites

  • Flutter SDK (>= 3.11.0)
  • iOS Simulator / Android Emulator / macOS desktop

Installation

# Clone the repository
git clone https://github.com/username/lift-os.git
cd lift-os

# Install dependencies
flutter pub get

# Run the app
flutter run

Running Tests

flutter test

Code Quality

# Analyze code
flutter analyze

# Build for production
flutter build ipa          # iOS
flutter build apk --release # Android
flutter build macos        # macOS

Architecture

The project follows a feature-first, layered architecture with clear separation of concerns.

lib/
├── app/                    # App configuration
│   ├── app.dart            # App entry point
│   ├── router.dart         # Navigation routes
│   ├── shell/              # Bottom navigation shell
│   └── theme/              # Design system
├── core/                   # Shared utilities
│   ├── database/           # Drift database & backup
│   ├── services/           # Notifications, etc.
│   ├── utils/              # Calculations, formatters
│   └── widgets/            # Reusable widgets
├── features/               # Feature modules
│   ├── home/               # Dashboard
│   ├── workouts/            # Workout logging & progressive overload
│   ├── exercises/          # Exercise library
│   ├── routines/           # Routine management
│   ├── progress/           # Analytics
│   ├── profile/            # User settings
│   ├── history/            # Workout history
│   └── onboarding/         # First-run setup
└── main.dart

Data Flow:

Presentation → Application (Use Cases) → Domain (Entities/Repositories) → Data (Drift)

License

Private project. All rights reserved.


Built with intention. Designed for progress.

About

Lift OS is a personal, offline-first strength-training app that tracks workouts, schedules routines, and provides smart progressive overload suggestions based on your training history. Fast logging at the rack with rest timers, PR detection, and progress analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages