LiftLog
A cross platform app for tracking your lifts in the gym
Install / Use
/learn @LiamMorrow/LiftLogREADME
LiftLog
<p align="center"> <img src="./assets/play_store_feature_graphic.png" alt="LiftLog Play Store Graphic"><br/> <img width="250" src="./assets/AppScreens-LiftLog-1719652395579 2/android/Android Phones - 169/01.png" alt="App Screenshot 1"> <img width="250" src="./assets/AppScreens-LiftLog-1719652395579 2/android/Android Phones - 169/02.png" alt="App Screenshot 2"> <img width="250" src="./assets/AppScreens-LiftLog-1719652395579 2/android/Android Phones - 169/03.png" alt="App Screenshot 3"> </p> <p align="center"> <a href='https://play.google.com/store/apps/details?id=com.limajuice.liftlog&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img alt='Get it on Google Play' style="height: 50px;" src='./assets/google-play-badge.png'/></a> <a href="https://apps.apple.com/au/app/liftlog/id6467372581?itsct=apps_box_badge&itscg=30200"><img src="https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1696550400" alt="Download on the App Store" style="border-radius: 13px; width: 250px; height: 50px"></a> <a href='https://app.liftlog.online'><img alt='Try demo in your browser' style="height: 50px;" src='./assets/web-badge.png'/></a> </p>🚀 Overview
LiftLog is an intuitive, cross-platform gym weight tracking app built with React Native and Expo. It features Material Design 3, AI-powered workout planning, and secure, end-to-end encrypted social feeds. Available on Android, iOS, and the web.
Key Features
- 🗿 Intuitive UI which lets you log your progression, without getting in your way
- Entirely device local workouts, no waiting for sign in or downloads
- 📱 Runs on Android, iOS, and web
- 🔒 End-to-end encrypted social feeds (opt-in, privacy-first)
- 🎨 Material Design 3 via React Native Paper
- 🌐 Internationalization with Tolgee/Weblate (10+ languages)
- 🏋️♂️ Publish workouts, follow other users, and control your feed privacy
- 🧠 AI planner tailors gym plans to your goals and body
- ⚡ Fast, modern UI with Expo Router and Redux Toolkit
📍 View the Roadmap to see what's planned!
🌍 Translations
LiftLog uses Weblate for internationalization and translation management. Anyone can create an account and start translating!
Want to help translate? Create an account on Weblate!
⚡ Quickstart
Prerequisites
- Node.js (v18+): Download here
- Expo CLI:
npm install -g expo-cli(Guide) - Android Studio (for Android) (Setup)
- Xcode (for iOS, macOS only) (Setup)
Run the App
cd app
npm install
npm run android # For Android
npm run ios # For iOS (macOS only)
npm run web # For web
Run the Backend API
See backend/README.md for more information on running the backend.
🗂️ Project Structure
LiftLog is organized into several projects:
Frontend (app/)
- Main React Native app (Expo)
- Components:
components/(layout, presentation, smart) - State:
store/(Redux Toolkit) - Services:
services/(API, business logic) - Hooks:
hooks/(custom React hooks) - Translations:
i18n/(Tolgee) - Navigation: Expo Router
Backend (LiftLog.Api/)
For documentation on running the backend for local development, see the README
- Dotnet WebAPI for feeds, AI plans, and secure data
- End-to-end encrypted feeds (AES)
- Claude integration for workout plans
RevenueCat (RevenueCat/)
- Client library for in-app purchases/subscriptions
Website (site/)
- Source for liftlog.online and privacy policy
📊 Stats
<a href="https://www.star-history.com/#LiamMorrow/LiftLog&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=LiamMorrow/LiftLog&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=LiamMorrow/LiftLog&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=LiamMorrow/LiftLog&type=Date" /> </picture> </a>🤝 Contributing
Contributions, issues, and feature requests are welcome! See CONTRIBUTING.md (or open an issue/PR).
📚 Documentation
- Feed Process - Documents how the feed and sharing works, especially around e2e encryption.
- Remote Backup - Documents how to connect LiftLog to a remote backup server.
- Plaintext Export - Documents how to export your data as plaintext.
- Workout Worker - Documents the WorkoutWorker, an event based bridge between native and JS which powers the Android persistent notifications.
💬 Support & Community
Note: LiftLog was rewritten from the ground up in React Native. The previous .NET MAUI Blazor implementation is in the
dotnetbranch.
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
