Skip to content

artlu99/hypertrophy

Repository files navigation

Hypertrophy

A Progressive Web App (PWA) for tracking progressive strength training over a 12-week program. Optimized for mobile use in gym environments with poor connectivity, featuring a thumb-friendly interface with large buttons and minimal text input.

Features

  • Offline-First: Works without internet connection (critical in gyms with bad signal)
  • Installable: Can be installed on phone like a native app without App Store overhead
  • Thumb-Friendly: Large buttons, minimal typing, high contrast for gym use
  • Progressive Tracking: Automatically calculates weight and rep targets based on 12-week program
  • Circuit-Style Workouts: Complete all exercises in a set before moving to the next set
  • Adjustable Rest Timer: Customize rest duration with ±15 second controls
  • Dark Mode: Saves battery on OLED screens, easier to read in gyms

Tech Stack

  • Framework: Vue 3 (Composition API) with TypeScript
  • Build Tool: Vite 7
  • State Management: Pinia
  • Routing: Vue Router 4
  • PWA: vite-plugin-pwa
  • Package Manager: Bun

Requirements

  • Node.js 20+ (or Bun runtime)
  • Bun (preferred) or npm

Project Setup

bun install

Development

Compile and Hot-Reload for Development

bun dev

Type-Check, Compile and Minify for Production

bun run build

Deploy

bun run deploy

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Documentation

  • HIGH-LEVEL-PLAN.md - Architecture, data models, progression algorithms, and implementation details
  • WORKOUT.md - 12-week program structure and exercise descriptions
  • CLAUDE.md - Development guide and code style guidelines

Credits

Photo by Paweł Bulwan on Unsplash

Photo by Stavros Papadimitriou on Unsplash

Photo by Ambitious Studio* | Rick Barrett on Unsplash

About

a Vue PWA to track strength training over a 12-week program

Topics

Resources

License

Stars

Watchers

Forks