Barbell loading calculator for iOS. Pick barbell and available plates, then instantly see how to load the bar for any target weight.
- Set Your Defaults: Choose barbell weight and available plates, and save them to profile.
- 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).
- Clear Visual Display: See the breakdown at a glance with a visual barbell representation.
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
- Node.js (v18+)
- pnpm (recommended) or npm
- Xcode (for iOS development)
-
Install dependencies:
pnpm install
-
Start the Expo dev server:
pnpm run start
-
iOS Simulator:
pnpm run ios
- 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
styleprops orStyleSheet) - Accessibility: Always support Dynamic Type (iOS); use scalable text styles
- Expo config:
app.json - TypeScript:
tsconfig.json - ESLint:
eslint.config.js