No ads. Open source. Personal use. No tracking. Free. No paywall. Own and share your workout data with a web5 based tabata timer.
Tabata timers are used for HIT excrcises. They give you short increments of exercies and rest. I use it quite a bit, but the one I use has a paywall after 2 routines and has a ton of ads. I don't want any of that.
This is a web5 based tabata timer.
What does web5 mean? Well, you'll own your data. Entirely. This means that you don't need to worry about us looking at it ever. This was mostly a fun project for myself, but I'll try to release it out the play store in the near future.
In Progress. Early Version Works
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Encrypt your data with your own DWN |
Create a Routine |
Choose your routine |
Play Screen. See your cycles. |
Toolbar to see your workout on the home page |
See your work history |
See demo in Web5 Tabata Timer Demo v0.0.2
- Features
- Play View
- Workout Selection View
- Configure Routine View
- Sound
- PWA
- Run in background
- Header for current workout
- Edit Routines
- Delete Routines
- Settings
- Save Sessions
- Done Screen
- Vibrate on 3 seconds
- Activity Screen
- Delete Session
- Edit Session
- Search
- Overview / Heatmap
- Launch on Google Play store <- Internal Testing
- Service Workers
- Wake Lock
- Background Workout
- Notifications
- Lock Screen Preview
- Sync
- Share sessions
- Add friends
- Better password management
- Bug Fixes
- Fix Build
- Fix Pause/Play
- Fix Inputs For Form
- Fix component size for steps on Play View
- Maskable Logo
- Multiple sessions for a single workout
- Timer stops on sleep
- Code
- Change state mangaement to redux
- First Major Refactor.
- Too many ts-ignores. Cleanup
- Remove old files
- Second Major Refactor
- Integrations
- Google Fit
- Strava
This was also a project for me to get to learn more about how front end works. The way react manages state, redux, etc, required me to come up the learning curve.
I'm sure that those more comfortable with front end might gouge out their eyes at some of the patterns. I will try to fix them.
If you check out existing solutions, some of them have some toolbar that sits on the lockscreen. Unfortunately, due to the limits of a pwa, that's not possible for this app. We might be using the MediaSession API or I can toss notifications/push events, but that's where it falls short. I could make this react-native, but maybe another time.
- Tabata Timer: Interval Timer -- The main app on the app store. 5M+ downloads. This is hidden behind a paywall, has ads, is not open source. We can do better. It's farther along, and has been worked on longer, but I hope that in time this app is going to clearly be better than that app.