Skip to content

A cross platform app for tracking your lifts in the gym

License

Notifications You must be signed in to change notification settings

ali00209/LiftLog

 
 

Repository files navigation

LiftLog

LiftLog Play Store Graphic
App Screenshot 1 App Screenshot 2 App Screenshot 3

Get it on Google Play Download on the App Store Try demo in your browser


🚀 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

  • 📱 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

🌍 Translations

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.


⚡ Quickstart

Prerequisites

  1. Node.js (v18+): Download here
  2. Expo CLI: npm install -g expo-cli (Guide)
  3. Android Studio (for Android) (Setup)
  4. 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

cd LiftLog.Api
dotnet run

See backend/LiftLog.Api/README.md for backend details.


🗂️ 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/)

  • 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

📊 Stats

Star History Chart

🤝 Contributing

Contributions, issues, and feature requests are welcome! See CONTRIBUTING.md (or open an issue/PR).

📚 Documentation

💬 Support & Community


Note: LiftLog was rewritten from the ground up in React Native. The previous .NET MAUI Blazor implementation is in the dotnet branch.

About

A cross platform app for tracking your lifts in the gym

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 65.5%
  • TypeScript 16.7%
  • JavaScript 16.2%
  • Swift 0.4%
  • Pug 0.4%
  • Kotlin 0.3%
  • Other 0.5%