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.
- 📱 Runs on Android, iOS, and web
- 🧠 AI planner tailors gym plans to your goals and body
- 🔒 End-to-end encrypted social feeds (opt-in, privacy-first)
- 🎨 Material Design 3 via React Native Paper
- 🌐 Internationalization with Tolgee (10+ languages)
- 🏋️♂️ Publish workouts, follow other users, and control your feed privacy
- ⚡ Fast, modern UI with Expo Router and Redux Toolkit
LiftLog uses Tolgee for internationalization and translation management. Translation files are in app/i18n/. A huge thanks to them providing an open source license to LiftLog ❤️.
Available languages:
- 🇦🇺 English (default)
- 🇮🇹 Italian
- 🇩🇪 German
- 🇷🇸 Serbian
- 🇫🇷 French
- 🇳🇱 Dutch
- 🇫🇮 Finnish
- 🇪🇸 Spanish
- 🇷🇺 Russian
- 🇨🇿 Czech
- 🇺🇦 Ukrainian
Want to help translate? Open an issue or PR.
- Node.js (v18+): Download here
- Expo CLI:
npm install -g expo-cli(Guide) - Android Studio (for Android) (Setup)
- Xcode (for iOS, macOS only) (Setup)
cd app
npm install
npm run android # For Android
npm run ios # For iOS (macOS only)
npm run web # For webcd LiftLog.Api
dotnet runSee backend/LiftLog.Api/README.md for backend details.
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/)
- Dotnet WebAPI for feeds, AI plans, and secure data
- End-to-end encrypted feeds (AES)
- OpenAI integration for workout plans
RevenueCat (RevenueCat/)
- Client library for in-app purchases/subscriptions
Website (site/)
- Source for liftlog.online and privacy policy
Contributions, issues, and feature requests are welcome! See CONTRIBUTING.md (or open an issue/PR).
Note: LiftLog was rewritten from the ground up in React Native. The previous .NET MAUI Blazor implementation is in the
dotnetbranch.





