Skip to content

hpanwar09/emom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

emom emom

each minute on the minute.

a minimalist emom workout timer. runs from your terminal, opens in your browser.

setup

git clone https://github.com/hpanwar09/emom.git
cd emom
bin/setup

this installs dependencies and adds the emom command to your system.

usage

emom          # start the timer (opens browser)
emom test     # run specs
emom lint     # run rubocop

how it works

  1. pick your exercise and set reps per minute + number of rounds
  2. hit start — 3-2-1 countdown with audio beeps
  3. timer runs — big countdown, round counter, rep tally
  4. stop or let it finish — summary card you can download as an image

dev

live-reload is built in — save any file in views/, public/, or lib/ and the browser refreshes automatically.

emom          # start server + open browser

tech

  • ruby + sinatra (backend)
  • slim templates + stimulus.js (frontend)
  • inter (typography)
  • web audio api (beeps, no audio files)
  • web worker (accurate timer, immune to tab throttling)
  • sqlite (local data)
  • tailwind cdn (styling)
  • html2canvas (share card generation)

requirements

  • ruby 3.1+
  • bundler

tests

bundle exec rspec spec/
bundle exec rubocop lib/ spec/

About

minimalist EMOM workout timer. runs from terminal, opens in browser.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors