Challenge I ran into
Carpal tunnel, No joke
Inspiration
During the quarantine, I spent almost 100% of my time at home, coding every day and night. This lifestyle had brought me many physical issues and sicknesses, so I decided to monitor my daily calorie so as to prevent gaining weight. When I was doing my project Healthier last month, I realized that although it is easy to monitor your diet, yet inconvenient to monitor your exercise as you cannot estimate your calorie loss and know to what extent the exercises benefit you. So I decide to make a web application that can monitor my exercises at home.
What it does
This web application is capable of estimating my poses through a webcam and count the loop of activities I have done. To avoid exhausting specific parts of muscles by doing single activity over and over, the application is also able to calculate the muscles' status, so that I can monitor which part of my muscles is lack of training.
As exercise always leads to a sweaty situation, user may not want to touch the keyboard or phone to navigate the web application. Therefore, voice control is available for this application, user can change their exercises by speech.
How I built it
Web app is built using Nuxt.js + Vue3 + Express.js + CockroachDB, it has already been deployed on Heroku API used:
- Mediapipe Pose (For pose estimation)
- VoiceFlow (For voice control) Plugin used:
- Sweet Alert 2
- Chart.js
- Speech Recognition (For speech to text)
- Speech Synthesis (For text to speech)
Accomplishments that I am proud of
- Code javascript for 36 hours
What I learned
- Sleepiness is no match against my black tea
What's next for Indoor Trainer
The current Mediapipe API + voice flow API has consumed too much overhead for the browser, the codes can be optimized and I hoped to merge it into my previous food monitor web app
Built With
- azure
- bootstrapvue
- chart.js
- cockroachdb
- crypto.js
- css3
- express.js
- html5
- javascript
- mediapipe
- node.js
- nuxt.js
- passport
- pwa
- sweetalert2
- voice-flow
- vue3
- vuelidate
Log in or sign up for Devpost to join the conversation.