Skip to content

saadjs/lift-math

Repository files navigation

Lift Math

Barbell loading calculator for iOS. Pick barbell and available plates, then instantly see how to load the bar for any target weight.

What It Does

  1. Set Your Defaults: Choose barbell weight and available plates, and save them to profile.
  2. Calculate Instantly: Input a target weight to see the recommended bar + plates per side (e.g., 135 lbs = 45 lb bar + 2×45 lb per side).
  3. Clear Visual Display: See the breakdown at a glance with a visual barbell representation.

Project Structure

app/                 # Expo Router screens
  _layout.tsx        # Navigation layout
  index.tsx          # Entry screen
  barbells.tsx       # Barbell selection screen
  calculator.tsx     # Calculation screen
  onboarding.tsx     # Onboarding screen

components/          # Reusable UI components
  barbells/          # Barbell-related components
  calculator/        # Calculator-related components

context/             # React Context (settings)
utils/               # Utilities (calculations, formatting, themes)
assets/              # Images and icons

Getting Started

Prerequisites

  • Node.js (v18+)
  • pnpm (recommended) or npm
  • Xcode (for iOS development)

Installation

  1. Install dependencies:

    pnpm install
  2. Start the Expo dev server:

    pnpm run start

Running Locally

  • iOS Simulator:

    pnpm run ios

Development

Coding Style

  • Language: TypeScript + React Native (Expo)
  • Indentation: 2 spaces
  • Components: PascalCase component names; follow Expo Router conventions
  • Icons: SF Symbols via @expo/vector-icons
  • Styles: Co-located with components (inline style props or StyleSheet)
  • Accessibility: Always support Dynamic Type (iOS); use scalable text styles

Project Configuration

  • Expo config: app.json
  • TypeScript: tsconfig.json
  • ESLint: eslint.config.js

About

Type the weight. Load the bar.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors