A comprehensive body metrics tracking platform with native iOS and web applications for monitoring health and fitness progress.
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+
- npm or yarn
- Xcode 15+ (for iOS development)
- Supabase account
- Clerk account
- Clone the repository:
git clone https://github.com/itstimwhite/LogYourBody.git
cd LogYourBody
- Install dependencies:
npm install
-
Set up environment variables:
- Copy
.env.example
to.env
in/apps/web
- Add your Supabase and Clerk credentials
- Copy
-
Run the web app:
cd apps/web
npm run dev
- Run the iOS app:
- Open
/apps/ios/LogYourBody.xcodeproj
in 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.
npm run dev
- Start web development servernpm run build
- Build web app for productionnpm run test
- Run testsnpm run lint
- Lint codenpm run typecheck
- TypeScript type checkingnpm run ios
- Open iOS project in Xcode
The web app is configured for deployment on Vercel:
cd apps/web
npm run build
The 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