Inspiration
A major portion of our generation is constantly scrolling on social media, which hinders their productivity. This app's purpose is to fix that, and provide a users an easy way to be active at the same time.
What It Does
After a certain amount of time scrolling on the same site, the doom countdown will start, and then the user will be required to complete 5 squats or 5 jumping jacks on camera to unlock their ability to scroll again. After the user has spent some more time scrolling, the countdown shows up again, and the cycle repeats.
How We Built It
We used TensorFlow.js to locate the 17 main body points on camera. We then measured the distance between the different body points and compared the distances to ensure that the user was doing the correct exercises. Using the Manifest V3 extension, when the limit was reached, a flag was activated in Chrome storage and background service workers to prohibit entry to a blocked site.
Challenges We Ran Into
The permissions were the biggest hassle. Initially, the website software was supposed to be on an iPhone app, but Apple had too many restrictions. We then decided to transfer to Windows, and we spent a good chunk of time figuring out what permissions to allow so that the camera would pop up and work.
Accomplishments That We're Proud of
The actual counting of the squats is much smoother than we anticipated, and the software is able to read and recognize movements from different heights and distances.
What We Learned
We learned that the permission a browser features has to pass through page policy, extension, and the OS before a webcam can even be turned on. Also, sometimes simple math instead of heavy AI recognition can be used as long as the measurements are good.
What's Next for Doom Fitness:
We hope to eventually:
- add more exercises
- increase the difficulty of the exercises the more you doomscroll
- total fitness stats
- mobile adapation
- custom limits
- sites
We also hope to make the software a little more accurate.
Built With
- chrome
- css3
- html5
- javascript
- json
- manifestv3
- movenet
- tensorflow
Log in or sign up for Devpost to join the conversation.