LiamMorrow/LiftLog

A cross platform app for tracking your lifts in the gym

TypeScript

594

2,693 commits

updated Oct 19, 2026

See the code

See what people are saying

README

LiftLog

App home page screenshot Workout page screenshot Stats page screenshot

Get it on Google Play Download on the App Store Get it on Obtainium


🚀 Overview

LiftLog is an intuitive, cross-platform gym weight tracking app built with React Native and Expo. Everything you log is stored locally on your device, no sign up required. LiftLog also supports privacy focused, end to end encrypted, social feeds to track your workouts with your friends.

Key Features

  • 🗿 Intuitive UI which lets you log your progression, without getting in your way
  • 📱 Entirely device local workouts
  • 📱 Runs on Android and iOS. Web support was removed in this commit
  • 🔒 End-to-end encrypted social feeds
  • 🎨 Material Design 3 / Liquid glass
  • 🌐 Internationalization with Tolgee/Weblate (10+ languages)
  • 🧠 AI planner tailors gym plans to your goals and body (requires running your own server, or purchasing pro).
  • ⚡ Fast, modern UI

🌍 Translations

LiftLog uses Weblate for internationalization and translation management. Anyone can create an account and start translating!

Translation status

Want to help translate? Create an account on Weblate!


⚡ 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)

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

This directory contains the app itself, built with Expo / react native.

Backend (LiftLog.Api/)

This directory contains the backend api, which handles the feed, ai planner, and offsite backups. For documentation on running the backend for local development, see the README

  • Dotnet WebAPI for feeds, AI plans, and backups
  • End-to-end encrypted feeds (AES)

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).

AI/LLM-assisted contributions are welcome, but issues and feature requests should be written in your own words - see the AI Usage Policy.

📚 Documentation

  • Self Hosting - Documents the how to self host the backend for backups or your own AI planner and private feed.
  • Plan Files - Documents the .liftlogplan file format, and how to generate plans with an AI for import into the app.
  • 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.
  • Storage Migrations - Documents how on-device data is versioned and migrated, and what to do when changing a stored model.

💬 Support & Community


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

app
aspnetcore
dotnet
expo
gym
react-native

LiamMorrow/LiftLog

A cross platform app for tracking your lifts in the gym

TypeScript

594

2,693 commits

updated Oct 19, 2026

See the code

See what people are saying

README

LiftLog

App home page screenshot Workout page screenshot Stats page screenshot

Get it on Google Play Download on the App Store Get it on Obtainium


🚀 Overview

LiftLog is an intuitive, cross-platform gym weight tracking app built with React Native and Expo. Everything you log is stored locally on your device, no sign up required. LiftLog also supports privacy focused, end to end encrypted, social feeds to track your workouts with your friends.

Key Features

  • 🗿 Intuitive UI which lets you log your progression, without getting in your way
  • 📱 Entirely device local workouts
  • 📱 Runs on Android and iOS. Web support was removed in this commit
  • 🔒 End-to-end encrypted social feeds
  • 🎨 Material Design 3 / Liquid glass
  • 🌐 Internationalization with Tolgee/Weblate (10+ languages)
  • 🧠 AI planner tailors gym plans to your goals and body (requires running your own server, or purchasing pro).
  • ⚡ Fast, modern UI

🌍 Translations

LiftLog uses Weblate for internationalization and translation management. Anyone can create an account and start translating!

Translation status

Want to help translate? Create an account on Weblate!


⚡ 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)

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

This directory contains the app itself, built with Expo / react native.

Backend (LiftLog.Api/)

This directory contains the backend api, which handles the feed, ai planner, and offsite backups. For documentation on running the backend for local development, see the README

  • Dotnet WebAPI for feeds, AI plans, and backups
  • End-to-end encrypted feeds (AES)

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).

AI/LLM-assisted contributions are welcome, but issues and feature requests should be written in your own words - see the AI Usage Policy.

📚 Documentation

  • Self Hosting - Documents the how to self host the backend for backups or your own AI planner and private feed.
  • Plan Files - Documents the .liftlogplan file format, and how to generate plans with an AI for import into the app.
  • 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.
  • Storage Migrations - Documents how on-device data is versioned and migrated, and what to do when changing a stored model.

💬 Support & Community


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

app
aspnetcore
dotnet
expo
gym
react-native

Significant stargazers

Stephen Finucane

127 followers · starred Aug 2025

BlackSpirits

17 followers · starred Aug 2026

Lukas Kreussel

80 followers · starred Jan 2026

Billy Lynch

180 followers · starred Aug 2026