Flexify
March 19, 2026 ยท View on GitHub
Flex on people with this swanky, lightning-quick gym tracker!
Features
- ๐ช Strength: Log your reps and weights with ease.
- ๐ต Offline: Flexify doesn't use the internet at all.
- ๐ Graphs: Visualize your progress over time with intuitive graphs.
- ๐ Cardio: Record your progress with cardio types.
- โฑ๏ธ Timers: Stay focused with alarms after resting.
- โ๏ธ Custom: Toggle features on/off and swap between light/dark theme.
Screenshots
Donations
Contributing to Flexify is directly correlated with Gains
- Bitcoin
bc1qzlte8featxzf7xvtp3rjv7qqtwkgpup8hu85gp - Monero (XMR)
85tmLfWKbpd8nxQnUY878DDuFjmfcoCFXPWR7XYKLHBSbDZV8wxgoKYUtHtq1kHWJg4m14sdBXhYuUSbxEDA29d19XuREL5 - GitHub sponsor
Getting Started
To get started with Flexify, follow these steps:
-
Clone the Repository: Clone the Flexify repository to your local machine using Git:
git clone --recursive https://github.com/brandonp2412/Flexify flexify -
Install Dependencies: Navigate to the project directory and install the necessary dependencies:
cd flexify flutter pub get -
Run the App: Launch the Flexify app on your preferred device or emulator:
flutter run
ChromeDriver Setup
For automated screenshot testing, you'll need to download ChromeDriver:
Windows
-
Download ChromeDriver: Download the latest ChromeDriver for Windows:
curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/win64/chromedriver-win64.zip" -
Extract: Extract the downloaded zip file:
tar -xf chromedriver.zip
macOS/Linux
-
Download ChromeDriver: Download the appropriate version for your system:
# For macOS (Intel) curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/mac-x64/chromedriver-mac-x64.zip" # For macOS (Apple Silicon) curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/mac-arm64/chromedriver-mac-arm64.zip" # For Linux curl -L -o chromedriver.zip "https://storage.googleapis.com/chrome-for-testing-public/131.0.6778.85/linux64/chromedriver-linux64.zip" -
Extract: Extract the downloaded zip file:
unzip chromedriver.zip
Note: ChromeDriver files are excluded from git due to their size. You'll need to download them locally for screenshot testing to work.
Migrations
If you edit any of the models in the lib/database directory you probably need to create migrations. E.g. assume the version starts at 1.
- Bump the
schemaVersionlib/database/database.dart
int get schemaVersion => 2;
- Run database migrations
./scripts/migrate.sh
- Add the migration step
lib/database/database.dart
from1To2: (Migrator m, Schema2 schema) async {
await m.addColumn(schema.myTable, schema.myTable.myColumn);
},
License
Flexify is licensed under the MIT License.

