- I flat out love the idea. I have a two year old and for me, the biggest thing that I've noticed about parenting is that it's made working out harder. I love food, so needless to say, I've watched my level of fitness steadily decline. This is very bad for me. An app like this would force me to get up and be active because frankly, the sound is worse than a pissed off toddler.
- The sound is worse than a pissed off toddler. My girlfriend said it sounds like a nuclear bomb siren. The sound is bad enough that it would motivate me to do pushups, just to get it to turn off. But, it's in a frequency range that causes lots of people problems. If you choose to keep developing, I'd suggest that having the ability to change/install a custom sound would be a great place to start.
- The pushup detection was poor. Either that, or either my form sucks or we have different definitions of what a pushup is. I did 10 pushups and it registered one and to shut down the infernal alarm, I ended up doing the 'raise the roof' motion. Oddly, the 'raise the roof' motion registered as a pushup every single time. I'm a nerdy 40 year old, so I should likely never do the 'raise the roof' motion. It's arguably even more personally limiting than air drumming along to Led Zeppelin (which is, incidentally, a wonderful workout though when you become known as 'the guy who drums at work', you'd be surprised how few people invite you out for lunch). :)
- You could be onto something amazing. Getting someone into the habit of dropping and doing pushups a few times a day would transform lives. I would pay for it if it checked my form and counted proper pushups for me. Though, it didn't seem to register my pushups, so maybe it does check my form.
Nice work and congratulations on front paging HN! I've got a lot of respect for what you've done and you should feel proud of what you have accomplished. I would be incredibly proud if I were in your shoes.
I'll work on those points. I'll have to work on making the pushup/'raise the roof' detection smarter. Generally I get good results when I face the webcam whilst on the floor such that when I push up some portion of my forehead goes out of view. I do this before clicking start.
My intention isn't to only count pushups with perfect form, as I want it to be useable by all audiences, even if you can only do box push ups.
There are dozens of apps that would help you exercise in short periods of time.
It's not so much a function of knowledge as it is a function of doing it. I know that I'm highly biased, but my kid is flat out cool. She loves figuring things out and has a wonderful mischievous attitude to boot. Simply, when she's awake and I'm not working, I'd rather spend time with her (rather than stay active which would keep me alive longer, thus meaning more time with her).
For me, it was the sound that got me hooked on this particular app. It's the kind of godawful noise that would wake the dead just long enough so they can do their pushups and shut the damned thing up...:)
You place your laptop/phone on the floor, do pushups whilst looking at the camera, and the app counts how many you do.
I integrated this functionality into an alarm clock which you can only turn off by doing a preset number of pushups.
I've posted it here for two reasons.
First to see if it works. It work well for me. BUT, there must be a data/sample bias based on how I do pushups.
Second, to see if people get value from this.
Would appreciate feedback around how well it counts pushups (if you can't do pushups, you can try sit-ups, just make sure your head leaves the camera at the top). And let me know if you are interested in future testing.
But it looks like a great idea!
It might not work for people in a co-living relationship. My wife would kill me if that alarm sound went off for more than 20 seconds (I get up before her).
Also, random idea, think it'd be fun to be able to replace that alarm sound with the whooping sound from Rogue One.
My reasons for using React:
Speed of development: I work with react nearly everyday at work, so a lot of its usage has become muscle memory. React abstracts away the need to think about the DOM, I don't need to write any query selectors, or think about what part of the DOM should be re-rendered when. The end result is that I can code up a simple view, and focus my efforts on the complex/fun stuff - the bit which counts the pushups. If I took the project no further, at least I invested my time on the most rewarding and fun parts of development.
Good use case for Bluetooth headphones.
>Also, random idea, think it'd be fun to be able to replace that alarm sound with the whooping sound from Rogue One.
Or, to prank my pushup loving flatmate, Gene Belcher's fart keyboard sample.
- I realized that many people have already complained about the sound so I don't think I really need to go into much detail about having optional alarm sounds
- When I had my cam on the ground so it would be able to see my face and detect my head going up and down I ended up having to do about 30 perfect form push ups to complete my goal of 5 push ups. One idea that popped into my head was maybe show some sort of outline for where the face, shoulders, arms, etc. should be so that it could be more efficient in detecting a push up.
- I found that when I kept my laptop on my desk and bent the cam down it had counted all of my push ups which was much less frustrating than when my cam was on the ground.
- annoying sound! Not motivational. Instead, have snooze option when detecting movement (but activate alarm again if no pushups). This also allows for some warmup.
- some feedback or countdown of pushups needed could be valuable (when I started, chunking and counting down helped go through them) see the 'seven' app for inspiration (also shows proper form)
- why limit to pushups? https://www.youtube.com/watch?v=jU6PcBS1pWw motion tracking printable tags
- make it easy for me to setup a routine and challenge myself
A couple of minor issues I noticed:
- In my browser (firefox), the time on the main page overflows the black background
- The webcam is still turned on after the pushup detection is done
It uses face detection to determine a pushup.
In a nutshell, I take a stream of frames from the camera, then do a diff on the frames to see what has moved, I then see if the diff of pixels over time is what I'd expect a pushup to look like using basic logic. The movement of pixels over time should look similar to a sine wave. I threw in some simple logic to account for noise in the data.
That said, I wanted to comment on the usability activation energy aspect as much as the shameless plug.