A comprehensive body metrics tracking platform with native iOS and web applications for monitoring health and fitness progress.
Note: As of 2025-01-25, the default branch has been changed from
devtomain. Please update your local repositories and any references accordingly.
LogYourBody helps users track their body composition changes over time through manual logging and automated data imports from DEXA scans, InBody analyses, and other body composition measurement devices.
This repository uses an intelligent AI-powered issue triage system. When you create a new issue, it will automatically:
- Analyze the content and recommend the best AI tool (Sweep, Copilot, or Claude)
- Add appropriate labels
- Comment with instructions
Learn more about AI triage β
This monorepo contains two main applications:
Native SwiftUI application for iPhone that provides:
- HealthKit Integration: Syncs steps data with Apple Health
- Body Metrics Tracking: Log weight, body fat %, muscle mass, and measurements
- Photo Progress: Capture and compare progress photos
- Offline Support: Core Data for local storage with background sync
- Real-time Sync: Automatic synchronization with Supabase backend
Tech Stack:
- SwiftUI
- HealthKit
- Core Data
- Supabase Swift SDK
- Clerk for authentication
Modern web application built with Next.js that offers:
- Dashboard: Visualize trends and progress with interactive charts
- PDF Import: Extract data from DEXA/InBody scan PDFs using AI
- Manual Entry: Log body metrics with an intuitive interface
- Mobile Responsive: Optimized for all devices
- Real-time Updates: Live synchronization across devices
Tech Stack:
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Supabase
- Clerk for authentication
- OpenAI for PDF parsing
- β Multi-platform support (iOS & Web)
- β Real-time data synchronization
- β Secure authentication with Clerk
- β Progress photo tracking
- β Historical data visualization
- β PDF scan import (DEXA, InBody)
- β Apple Health integration (iOS)
- π§ Android app
- π§ Wearable device integrations
- π§ AI-powered insights
- π§ Social features & challenges
- Node.js 20+
- pnpm (recommended for this monorepo)
- Xcode 15+ (for iOS development)
- Supabase account
- Clerk account
- Clone the repository:
git clone https://github.com/JovieInc/LogYourBody.git
cd LogYourBody- Install dependencies (from the repo root):
pnpm install-
Set up environment variables:
- Copy
.env.exampleto.envin/apps/web - Add your Supabase and Clerk credentials
- Copy
-
Run the web app:
cd apps/web
pnpm dev- Run the iOS app:
- Open
/apps/ios/LogYourBody.xcodeprojin Xcode - Configure signing & capabilities
- Build and run on simulator or device
- Open
The application uses Supabase with PostgreSQL. Key tables include:
profiles: User profile informationbody_metrics: Weight, body fat %, muscle mass recordsbody_measurements: Detailed body measurementsdaily_metrics: Steps and activity data
Row Level Security (RLS) ensures users can only access their own data.
The monorepo is managed with pnpm workspaces and Turborepo. Run these from the repo root:
pnpm devβ Start the web dev server (apps/web)pnpm buildβ Run the Turborepo build pipelinepnpm testβ Run tests across workspacespnpm test:ciβ Run tests in CI mode (--runInBand)pnpm lintβ Run all linters across workspacespnpm typecheckβ TypeScript type checking across workspacespnpm iosβ Open the iOS project in Xcode
You can still run app-specific scripts directly, for example:
cd apps/web && pnpm devcd apps/web && pnpm test
The web app is configured for deployment on Vercel:
cd apps/web
pnpm buildThe iOS app can be distributed via TestFlight or the App Store.
We welcome contributions! Please see our contributing guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@logyourbody.com or open an issue on GitHub.
Built with β€οΈ by the LogYourBody team