Brew Timer / Multi-timer

coffee-setup.jpeg

A multi-timer designed to get your attention when brewing pour-over coffee, but potentially has other uses.

Features

  • Set multiple timers that build on each other - timer keeps running!
  • Each time a timer goes off we should get some audio
  • Remember my settings on a device
  • Very quick to go from zero to starting a timer
    • Needs to have as little friction as using "stopwatch" on my phone or I'll just use that
    • Ideally, we might want to wrap this webapp in a native wrapper, deploy to the app store, and set up a homescreen shortcut
      • That might be something it's hard to pull off in replit, so we'll start with the webapp

2023-03-30

  • Make sure the sound plays right at the appropriate time
  • Show time in min:sec format in the timers
  • Have the sound continue until dismissed
  • Sort the timers in ascending order
    • we are using bind:value to update the timer's time field, but that update happens while editing is happening.
      • If we re-draw the list while editing, it swaps out the input field from underneath us.
    • we will need to move to calling a function to update the timer's time field and execute that function on:blur or when on:keypress when return is pressed, or something like that.
  • Get prettier and eslint working in replit
    • They're running on-demand using npm run lint and npm run format
  • Style it up
  • Show which timers have already elapsed
  • Turn stop into Pause and, when paused, change Start to Resume and Pause to Clear
  • BUG: When changing the time for a timer and the timer is running, may need to reset the elapsed status
    • We will need to call a function when the timer value updates so that we can reset elapsed and acknowledged
  • BUG: Adding a new timer when the largest timer has a decimal point causes string addition
  • Improve the UX on mobile
    • Show the numeral keypad instead of the letters
    • Make it "dismiss" on "return" (maybe even rename the return key)
    • Lock the zoom to prevent accidental zooms
  • Look into a bounty to create an iOS wrapper

2023-03-22

  • Timer on the screen counting up from zero
  • Start the timer when we click a button
  • Stop the timer when we click another button
  • Play a sound when the timer hits a certain point
  • Create a new timer
  • Play a sound when any timer expires
  • Remove an existing timer
  • Update the time of an existing timer
Brew Timer
Interactive graph
On this page
Brew Timer / Multi-timer
Features
2023-03-30
2023-03-22