Show HN: MyTimers.app offline-first PWA with no build step and zero dependencies
mytimers.appHello,
For quite some time, I've been unsatisfied with the built-in timers on both Android and iOS; especially for workouts, when I needed to set up a configurable number of series with rest periods in between. That's when I started thinking about building something myself. It was just a timer and I said to myself "how hard could it be?", I had no idea.
The first iteration of the project worked "just fine", but the UI was an eyesore (even more than it is now), and the UX was quite awful as well. As you can probably guess, I'm not versed in design or front-end development. In fact, my last real experience with front-end work was back when jQuery was still a thing.
However, I knew what I wanted to build, and over the last few days (and with the help of the infamous AI) I was able to wrap up the project for my needs. It required quite a lot of "hand holding" and "back and forth", but it helped me smooth out the rough edges and provided great suggestions about the latest ES6 features.
The project is, as the title states, an offline-first PWA with zero dependencies; no build step, no cookies, no links, no analytics, nothing other than timers. It uses `Web Components` (a really nice feature, in my opinion, though I still don't get why we can't easily inherit styles from the global scope) and `localStorage` to save timers between uses.
I'd appreciate any comments or suggestions, since I just want to keep learning new things.
This is exactly what I want when baking bread: I have a fixed sequence of steps, spaced quite far apart, and this is pretty much perfect: a series of relatively short breaks when autolysing and kneading, then waiting 10 hours overnight, then waiting 75 minutes after proofing.
I'm not sure how well this will work on a mobile; the service worker might be stopped after a few hours, particularly with the screen off overnight
Yes! I noticed this too, I really want to go with the PWA / open approach, however after a bit more research it looks like the PWA would be barely usable on mobile without their "closed APIs" a native app has :/
Will research what is the thinnest "wrapper" I can use to avoid maintaining 3 different apps.
I find it a little overwhelming.
Like erikrthoff suggested, I'd drop the light mode toggle and just go with prefers-color-scheme. Then I'd move the X buttons to the top-right of their respective sections (timers, segments), and move the Add Timer button underneath.
Mockup: https://i.imgur.com/EcSHX7S.png
What a great suggestion, and you even made a mockup! That's so considerate of you, thank you so much.
I'll try to implement these UI changes tonight.
I wonder when "ScheduledTask API" will be ready to be used in PWAs and allow building alarm and todo webapps that run in background and display notification for alarm?
Same! Learning that this PWA is "barely useful" on mobile because the lack of background API support sucks :(
Pet peave: don’t have a massive button for dark mode, just listen for the OS setting.
Yeah, I've got a bit of feedback about it, will remove.
Thanks!
I built something similar! I also wanted a timer for multiple phases wity varying time. I use it for setting a time limit on various task so I don't get distracted or too invested into something without getting stuff done.
Also zero analytics and all that other stuff: https://timer.bryanhogan.com/
I knew I wasn't alone!
:fist-bump:
Much-needed app, thanks for the same. For some time, I have been thinking about a similar app for the simple requirement of sounding every 25 to 30 minutes while working on a computer just to give rest to the eyes, but I was unable to find a suitable one. The "offline-first PWA with zero dependencies; no build step, no cookies, no links, no analytics, nothing other than timers" gives it a really usable coat for both desktop and mobile
Hahaha, thank you for "quoting the full name".
It's mostly a "toy app / learning experience" at this point, but I'm glad it may provide even the tiniest bit of value to others.
Sadly on mobile seems to be fairly useless due the OS killing the worker, but I'll try to wrap it in a native app.
If you really want to learn: Watch some people (your mom, neighbor or friends) use the app. Literally tell them "Hey look here's a new tool, can you set a couple of timers for me." and sit beside them and watch them use it. Don't tell them anything, just watch.
You will learn SO MUCH!
This sounds cool, I'll add the small fixes other users recommended me and then ask relatives to use it.
I have a suspicion that someone holds worldwide patents on multi timers with repetitions and notifications (audio and vibration).
Thats the only explanation I have to explain the dire state of the built in timers on iphones and the free apps available on the app store. And no, I’m not going to pay $$$ per month for the premium apps.
And don’t even get me started on the PITA it is to make a web app to do the same (useful for runners) - you would think it would be a simple thing todo? Have a go and let me know if it doesn't break your balls.
Are you referring to the Pomodoro "business" and their trademarks? I actually thought it was just for use of the name 'Pomodoro'
There are a lot of successive/repeat timer apps on the stores it's mostly catered to either people with ADHD or people timing their workouts. I don't understand why no one includes it in the standard clock apps especially how often they redesign/rewrite them.
Thank you! I have been dreaming of building a similar app, with the addition that I wanted to track my heart rate at the same time. I would use it for HIIT gym sessions where the segments are asymmetrical (60 seconds vs 30)
I think you need a favicon for when installed on the homescreen. This tool provides all the necessary html: https://realfavicongenerator.net/
I have added the icons in the `manifest.json` file but as you said the are still not showing up, will fix this up later today.
Thank you.
Kudos for sharing the app, but that is some convoluted and overwhelming UI.
I wholeheartedly agree, it's been the most difficult part to do for me.
Congratulations on shipping. I had a similar idea a while ago after noticing a company at beach using multiple stop-watches to keep track of people renting kayaks and jetskis.
This is a really good use case. Maybe there _is_ some "market"* for an app like this.
*: Market as in people who may find it useful, not market as in "I would monetize it", screw that.
Hi, Congratulations on mytimers.app. The graphics are too basic, but they need some work. Is it possible to create a timer other than 1 minute? I don't understand how.
Otherwise, keep it the same. Thanks
This confused me as well. You are supposed to enter the number of seconds way below.
btw I would also like to be able to enter a time between segments. For example 3 minute segments with 1 minute of rest between them.
[dead]
That's what I tend to do. I give someone my app, don't say a thing, and see how they attack it.
I like to think that the discoverability of my apps is good, but I can be surprised.
Just a couple of days ago, I got a request for help from my own timer app[0], that surprised me. They did not understand that the pickers were pickers. That's because I modified their appearance, so they look more like buttons. I'm still not exactly sure how I'll deal with it, but it's definitely my problem.
[0] https://apps.apple.com/us/app/ambiamara/id1448933389