{"id":49552637,"url":"https://github.com/rfivesix/train-libre","last_synced_at":"2026-06-09T18:00:41.967Z","repository":{"id":314917917,"uuid":"1057257505","full_name":"rfivesix/train-libre","owner":"rfivesix","description":"Private workout and nutrition tracking for Android \u0026 iOS","archived":false,"fork":false,"pushed_at":"2026-06-09T14:01:08.000Z","size":167723,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-09T14:20:51.515Z","etag":null,"topics":["ai","android","bodybuilding","calorie-calculator","calories","calories-calculator","calories-tracker","dart","fitness","flutter","gym","health","healthcare-ai","healthkit","ios","nutrition","nutrition-tracker","offline-first","workout","workout-tracker"],"latest_commit_sha":null,"homepage":"https://rfivesix.github.io/train-libre/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rfivesix.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-15T13:38:47.000Z","updated_at":"2026-06-08T11:27:05.000Z","dependencies_parsed_at":"2025-10-01T23:20:15.905Z","dependency_job_id":"e34d4db8-5600-4ff3-9d36-fe6f99d6f45e","html_url":"https://github.com/rfivesix/train-libre","commit_stats":null,"previous_names":["rfivesix/lightweight","rfivesix/hypertrack"],"tags_count":134,"template":false,"template_full_name":null,"purl":"pkg:github/rfivesix/train-libre","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfivesix%2Ftrain-libre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfivesix%2Ftrain-libre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfivesix%2Ftrain-libre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfivesix%2Ftrain-libre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rfivesix","download_url":"https://codeload.github.com/rfivesix/train-libre/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rfivesix%2Ftrain-libre/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34118757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","android","bodybuilding","calorie-calculator","calories","calories-calculator","calories-tracker","dart","fitness","flutter","gym","health","healthcare-ai","healthkit","ios","nutrition","nutrition-tracker","offline-first","workout","workout-tracker"],"created_at":"2026-05-03T00:01:59.472Z","updated_at":"2026-06-09T18:00:41.948Z","avatar_url":"https://github.com/rfivesix.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Train Libre\n\n**Private workout and nutrition tracking for Android and iOS.**\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/rfivesix/train-libre/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/rfivesix/train-libre?style=for-the-badge\u0026color=F5B301\" alt=\"Stars\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/rfivesix/train-libre/network/members\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/rfivesix/train-libre?style=for-the-badge\u0026color=4C9BE8\" alt=\"Forks\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/rfivesix/train-libre/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/rfivesix/train-libre?style=for-the-badge\u0026color=E05D44\" alt=\"Open Issues\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/rfivesix/train-libre/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/rfivesix/train-libre?style=for-the-badge\u0026color=34C759\" alt=\"Latest Release\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/rfivesix/train-libre/watchers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/watchers/rfivesix/train-libre?style=for-the-badge\u0026color=7A3EF0\" alt=\"Watchers\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Flutter-App-02569B?style=for-the-badge\u0026logo=flutter\u0026logoColor=white\" alt=\"Flutter\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Drift-Local%20Database-0175C2?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white\" alt=\"Drift\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Offline%20First-Architecture-2E8B57?style=for-the-badge\" alt=\"Offline First\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Android%20%26%20iOS-Supported-111827?style=for-the-badge\" alt=\"Android and iOS\"\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://star-history.com/#rfivesix/train-libre\u0026dark\"\u003e\n    \u003cimg src=\"https://api.star-history.com/svg?repos=rfivesix/train-libre\u0026theme=dark\" alt=\"Star History Chart\" width=\"100%\" max-width=\"600px\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\nTrain Libre is an open-source, offline-first fitness app for logging workouts, calories, macros, bodyweight, and recovery — without ads, mandatory accounts, or analytics SDKs.\n\nDesigned for people who want serious tracking without social feeds, gamification, or subscription pressure, Train Libre prioritizes **privacy**, **local data ownership**, and **transparent analytics**.\n\n## Download \u0026 Install\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" valign=\"middle\" width=\"300\"\u003e\n      \u003ca href=\"https://testflight.apple.com/join/x1UaM6TQ\"\u003e\n        \u003cimg\n          src=\"https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg\"\n          alt=\"Download on the App Store\"\n          width=\"100%\"\n        /\u003e\n      \u003c/a\u003e\n      \u003cbr\u003e\u003csub\u003e\u003cb\u003eiOS Public TestFlight Beta\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"50\"\u003e\u003c/td\u003e\n    \u003ctd align=\"center\" valign=\"middle\" width=\"300\"\u003e\n      \u003ca href=\"http://apps.obtainium.imranr.dev/redirect.html?r=obtainium://add/https://github.com/rfivesix/train-libre/releases\"\u003e\n        \u003cimg\n          src=\"https://raw.githubusercontent.com/ImranR98/Obtainium/main/assets/graphics/badge_obtainium.png\"\n          alt=\"Get it on Obtainium\"\n          width=\"100%\"\n        /\u003e\n      \u003c/a\u003e\n      \u003cbr\u003e\u003csub\u003e\u003cb\u003eAndroid (via Obtainium)\u003c/b\u003e\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n*Google Play release is currently not available.*\n\n## Platform Support\n\nTrain Libre is built with Flutter and supports:\n- **iOS** (Active)\n- **Android** (Active)\n\n## Key Features\n\n- **Workout Tracker:** Log sets (warm-up, failure, dropsets), routines, and session history.\n- **Calorie \u0026 Macro Tracker:** Track nutrition, hydration, and supplements with adaptive weekly guidance.\n- **Bodyweight \u0026 Recovery Analytics:** Deep insights into muscle readiness, volume trends, and body measurements.\n- **Next-Gen AI Meal Capture:** Capture meals from photos or text via BYOK (Bring Your Own Key) setup. Fully integrated with a holistic culinary anchor (`mealContext`) and a state-aware \"Top-N Fuzzy Alternatives\" SQLite matching system that prevents hallucinations. Always reviewable and self-repairing before saving.\n- **Privacy \u0026 Local-First:** Data stays on device. Optional one-way health export to Apple Health and Google Health Connect.\n\n## Privacy \u0026 Philosophy\n\n- **No Ads. No Mandatory Account. No Analytics SDKs.**\n- **Offline-First:** Your data stays local unless you explicitly choose otherwise.\n- **Open-Source Transparency:** Trust through public code and understandable data flows.\n- **User-Controlled AI:** Optional AI features require your own API key; no data is sent to providers without opt-in.\n\n## Documentation\n\nThis project features a comprehensive, modular documentation suite split by target audience and component. Use the links below to access the technical resources:\n\n### Developer Resources\n*   [Developer Overview](documentation/developer/overview.md): Technical vision, key architectural pillars, technology stack, and testing philosophy.\n*   [Architecture \u0026 SQLite Lifecycle](documentation/developer/architecture.md): Clean Architecture layering and database connection lifecycle pattern.\n*   [Data Flow \u0026 State Lifecycle](documentation/developer/data_flow_and_state.md): Reactive reads, imperative writes, subscription cancellation, and UI concurrency guards.\n\n### Advanced Features \u0026 Algorithmic Transparency\n*   [Smart Features Overview](documentation/features/overview.md): Overview of algorithmic features and architectural privacy invariants.\n*   [Bayesian TDEE Estimator](documentation/features/bayesian_tdee_estimator.md): Comprehensive mathematical and statistical formulation of the Kalman filter-based adaptive energy expenditure engine.\n*   [BYOK AI Meal Validation](documentation/features/byok_ai_validation.md): AI meal capture pipeline details, fuzzy validation scoring, and the 3-pass self-repair verification loop.\n*   [One-Way Health Sync \u0026 Export](documentation/features/health_sync_export.md): Data export pipelines, SQLite-backed idempotency tracking, step segment merging policies, and fault-tolerance patterns.\n\nFor the full interlinked documentation map, see the main [Documentation Entry Point](documentation/README.md).\n\n## Roadmap\n\nThe long-term vision, future modules, and planned features are maintained in the [ROADMAP.md](ROADMAP.md) file.\n\n## Credits\n\n- **[Open Food Facts](https://openfoodfacts.org/)** for food database coverage.\n- **[wger](https://github.com/wger-project/wger)** for the workout database foundation.\n\n## License\n\n[GPL-3.0](LICENSE)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfivesix%2Ftrain-libre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frfivesix%2Ftrain-libre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frfivesix%2Ftrain-libre/lists"}