An open API service indexing awesome lists of open source software.

https://github.com/liammorrow/liftlog

A cross platform app for tracking your lifts in the gym
https://github.com/liammorrow/liftlog

app blazor dotnet gym maui

Last synced: 2 months ago
JSON representation

A cross platform app for tracking your lifts in the gym

Awesome Lists containing this project

README

          

# 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

- 🗿 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](./ROADMAP.md)** to see what's planned!

---

## 🌍 Translations

LiftLog uses [Weblate](https://translate.liftlog.online/) for internationalization and translation management. Anyone can create an account and start translating!

[![Translation status](https://translate.liftlog.online/widget/liftlog/multi-auto.svg)](https://translate.liftlog.online/engage/liftlog/)

Want to help translate? [Create an account on Weblate!](https://translate.liftlog.online/)

---

## ⚡ Quickstart

### Prerequisites

1. **Node.js** (v18+): [Download here](https://nodejs.org/)
2. **Expo CLI**: `npm install -g expo-cli` ([Guide](https://docs.expo.dev/get-started/set-up-your-environment/))
3. **Android Studio** (for Android) ([Setup](https://reactnative.dev/docs/environment-setup))
4. **Xcode** (for iOS, macOS only) ([Setup](https://reactnative.dev/docs/environment-setup?os=macos&platform=ios))

### Run the App

```bash
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`](./backend/README.md) for more information on running the backend.

---

## 🗂️ Project Structure

LiftLog is organized into several projects:

### Frontend ([app/](./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/](./backend/))

For documentation on running the backend for local development, see [the README](./backend/README.md)

- **Dotnet WebAPI** for feeds, AI plans, and secure data
- **End-to-end encrypted feeds** (AES)
- **Claude integration** for workout plans

### RevenueCat ([RevenueCat/](./backend/RevenueCat/))

- **Client library** for in-app purchases/subscriptions

### Website ([site/](./site))

- **Source for liftlog.online** and privacy policy

---

## 📊 Stats





Star History Chart

---

## 🤝 Contributing

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

## 📚 Documentation

- [Feed Process](./docs/FeedProcess.md) - Documents how the feed and sharing works, especially around e2e encryption.
- [Remote Backup](./docs/RemoteBackup.md) - Documents how to connect LiftLog to a remote backup server.
- [Plaintext Export](./docs/PlaintextExport.md) - Documents how to export your data as plaintext.
- [Workout Worker](./docs/WorkoutWorker.md) - Documents the WorkoutWorker, an event based bridge between native and JS which powers the Android persistent notifications.

## 💬 Support & Community

- [Discord](https://discord.gg/YHhKEnEnFa)
- [App Website](https://liftlog.online)
- [Try Demo](https://app.liftlog.online)

---

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