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/Weblate (10+ languages)
- ποΈββοΈ Publish workouts, follow other users, and control your feed privacy
- β‘ Fast, modern UI with Expo Router and Redux Toolkit
π View the Roadmap to see what's planned!
LiftLog uses Weblate for internationalization and translation management. Anyone can create an account and start translating!
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 webSee backend/README.md for more information on running the backend.
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)
- 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.





