Skip to content

slayernominee/lift

Repository files navigation

🏋️ Lift

Lift is a modern, high-performance fitness tracker built with Flutter. It's designed for lifters who want a clean, distraction-free interface to manage their workouts, track their strength progress, and monitor body weight trends. (Attention: Vibe Coded)

Showcase

| | | | | | | |

✨ Features

  • Workout Management: Create custom workout routines, reorder exercises with drag-and-drop, and set target sets.
  • Exercise Pool: A searchable database of exercises with support for custom additions.
  • Intelligent Tracking:
    • Smart placeholders: Automatically see your weight/reps from your last session for that specific workout.
    • Simplified logging: Focus on your lift without toggling checkboxes.
  • Data Visualization:
    • Repetition History: Scrollable timeline charts showing total volume progress.
    • Weight Tracker: Monitor body weight with a dedicated chart and date/time-specific logs.
    • Interactive Timelines: Swipe through history with range toggles (1W, 1M, 3M, All).
  • Modern UI: A sleek, dark-themed interface built using Material 3 and an indigo-slate color palette.
  • 100% Offline: Works completely offline - no internet connection required for any features.
  • Local-First: Fast performance and offline support using Hive NoSQL storage.

🛠️ Tech Stack

  • Framework: Flutter
  • State Management: Provider
  • Database: Hive (Local Persistence)
  • Charts: fl_chart
  • Icons: Material Icons & Font Awesome

🙏 Credits

This project uses exercise data from a fork of ExerciseDB by ASCENDAPI.

  • ASCENDAPI: The original ExerciseDB project was developed by ASCENDAPI. Although this is a fork under the AGPL-3.0 License, we have received explicit permission from ASCENDAPI to use this data in our project.
  • Gratitude: Many thanks to ASCENDAPI for enabling this project with their comprehensive exercise database and for allowing us to use it in our offline-focused application.

If you need access to a more extensive Exercise Database, consider using their API directly. They provide even more exercises than what's included in this app.

🔒 Privacy & Offline-First

Lift is designed with your privacy as the top priority.

Completely Offline

  • No Internet Required: The app works 100% offline. All features are available without an internet connection.
  • No Cloud Sync: Your data never leaves your device. No account creation, no cloud servers, no data transmission.
  • Your Data, Your Device: All your workout data, preferences, and settings are stored locally on your device.

Privacy Commitment

  • No Data Collection: We don't collect, share, or sell any of your data.
  • No Analytics: No tracking or analytics services are used.
  • No Accounts: Use the app immediately without creating an account or providing personal information.
  • Your Data Stays Private: Since everything is stored locally, only you have access to your workout information.

For the complete privacy statement, see docs/PRIVACY.md.

Code Signing

The APK is signed with the Key:

4D:0D:18:E2:6A:ED:B8:32:3B:CD:3C:17:6D:05:D9:98:BC:13:4D:49:E2:BB:13:BE:EC:7D:C8:95:2E:A4:FA:C3

🚀 Getting Started

Prerequisites

  • Flutter SDK: ^3.10.4
  • Dart SDK: ^3.10.0

Installation

  1. Clone the repository:

    git clone https://github.com/slayernominee/lift
    cd lift
  2. Install dependencies:

    flutter pub get
  3. Generate Hive Adapters:

    dart run build_runner build --delete-conflicting-outputs
  4. Run the app:

    flutter run

Built for lifters ;P