Skip to content

Repository files navigation

Move app icon

Move

A private, offline companion for daily movement, walking, and consistency.

Move app walkthrough on Android

About

Move makes it fast to record small bursts of activity without accounts or subscriptions. Log repetitions such as squats and push-ups, track timed movements such as planks and stretches, and bring in daily steps and actual sleep sessions through read-only Health Connect access. Samsung Health supplies the daily step target plus the bedtime and wake-up target used for scoring. Activity history and preferences stay on the device.

Features

  • Quick repetition and duration logging
  • 24 room-friendly strength and mobility movements
  • Left, right, and both-side tracking where useful
  • Optional notes plus log editing and deletion
  • Read-only daily steps through Android Health Connect, including Samsung Health
  • Read-only daily step target from Samsung Health, with a configurable Move fallback
  • Read-only actual sleep sessions through Health Connect
  • Read-only bedtime and wake-up target from Samsung Health, with fixed ±30-minute scoring windows
  • Independent daily movement goal and Samsung Health step target
  • Explainable 100-point Rhythm Score across moves, steps, sleep-target timing, and balance
  • Optional Smart Movement Alerts after about one inactive hour, adapted to step progress, goals, and sleep hours
  • Customizable Quick Moves with add, remove, and drag ordering
  • Weekly recaps, unified active-day streaks, and a 35-day consistency view
  • Compact Home-screen widget for today’s goals and progress
  • Per-movement rankings and progress summaries
  • Offline SQLite persistence
  • Purpose-built dark Material 3 interface
  • Adaptive Android launcher icon

Accounts and cloud synchronization are intentionally outside the current scope.

Download

Download the latest Android APK from GitHub Releases. Move supports Android 10 (API 29) and newer. Automatic steps and actual sleep sessions require Health Connect; Samsung Health supplies step and sleep targets when connected. Smart Movement Alerts require Android 14 or newer plus Health Connect background access.

Run locally

Requirements: Flutter 3.44+ with an Android 10 (API 29) or newer device or emulator.

flutter pub get
flutter run

Generate launcher resources again after replacing the source icon:

dart run flutter_launcher_icons

Quality checks

flutter analyze
flutter test
cd android
./gradlew :app:testDebugUnitTest

Project structure

lib/
├── models.dart                 Movement catalog and log model
├── move_database.dart          SQLite persistence
├── analytics.dart              Streaks and progress calculations
├── dashboard_screen.dart       Today dashboard
├── history_screen.dart         Filterable activity history
├── progress_screen.dart        Trends and consistency views
├── movement_log_sheet.dart     Movement logging flow
├── quick_moves_sheet.dart      Quick Move customization
├── move_settings_sheet.dart    Goals, Smart Alerts, Health, and widget settings
└── device_services.dart        Health, alerts, goals, and widget bridge

android/app/src/main/kotlin/com/med/move/
├── MainActivity.kt             Health Connect, Samsung Health, and Flutter bridge
├── SmartAlertDataSource.kt     Background steps, goals, and active-hour inputs
├── SmartAlertPolicy.kt         Inactivity, cooldown, and alert decisions
├── ReminderScheduler.kt        Adaptive inactivity checks and alert delivery
├── MoveStateStore.kt           Shared goal, widget, and alert state
└── MoveWidgetProvider.kt       Native home-screen widget

Data and privacy

Move does not collect personal data. Movement logs are stored only in the app's local SQLite database. Removing the app also removes its local data unless Android restores it from a device backup.

When enabled, Move reads daily step totals and the timing of the main sleep session from Health Connect. Smart Movement Alerts additionally use optional background step access to detect inactivity while Move is closed. Samsung Health supplies the daily step target plus the bedtime and wake-up target, from which Move derives fixed ±30-minute scoring windows and quiet hours. If the Samsung step target is unavailable, Move uses its locally configured fallback. Daily timing summaries are cached locally for dashboard and progress metrics; sleep duration is neither cached as a metric nor scored. Move never writes health data. Goals, alerts, Quick Moves, and widget state remain entirely on-device.

License

Released under the MIT License.

About

A private, offline Flutter app for quickly logging room-friendly movements, stretches, reps, duration, streaks, and progress.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages