Skip to content

robertkotsch/sally-trainer

Repository files navigation

Bring Sally Up

A PWA workout timer/trainer for the push-up challenge based on the song "Flower" by Moby.

Modes

  • Full Challenge — follows the exact song timing (30 reps across 4 blocks with hold phases, 3:26 total)
  • Training Mode — configurable drills: Tempo Reps, Endurance Sets, Isometric Hold, Dead-Stop Press, Fatigue Ladder, Ramp Protocol

Running locally

npx serve . -p 8080

No build step — vanilla JS (ES modules) served as static files.

Deployment

Deployed to Railway via railway.json using the serve package.

Project structure

  • index.html — markup for both panels (challenge + training), finish overlays, info modal
  • styles.css — styling, including light/dark themes via data-theme and CSS custom properties
  • sw.js — service worker (cache-first strategy, versioned via CACHE_NAME)
  • js/main.js — entry point, DOM wiring, tab switching, service worker registration
  • js/challengeData.js — timing constants and sequence builder for the full challenge
  • js/challenge.js — challenge mode state machine and animation loop
  • js/drills.js — drill catalogue with configurable cue sequence builders
  • js/training.js — training mode state machine, config UI, persistence
  • js/audio.js — Web Audio beeps + SpeechSynthesis voice cues
  • js/flash.js — full-screen color flash on cue transitions
  • js/utils.js — formatting, vibration, and DOM helpers
  • js/theme.js — theme toggle (auto/light/dark)
  • js/wakeLock.js — Screen Wake Lock to keep the display on during workouts
  • sequence.md — full timing breakdown of the Full Challenge sequence

Notes

  • Fonts are self-hosted in fonts/ (no external CDN requests)
  • No test framework is configured

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors