Sofia is your personal AI powered Yoga instructor, allowing you to harness the benefits of yoga from any place you want.
- The app is built using a cross-platform framework called Flutter, so it can run on both iOS and Android.
- For authentication, we have used Auth0 SDK.
- Cloud Firestore is used for storing the user-info and the track data.
- Firebase Storage is used for the storage of the pose videos.
- Google TTS API is used for speech output.
- TFLite model is used for pose recognition.
WIP: Timeline updated on [February 2021]
Video Demo of the app in action
Download the APK here
Screenshots
The following screenshots are outdated, we are currently working on a new UI design
About
Problem Statment : Addressing the after-effects
- With COVID 19, people have resorted to quarantine as the last resort to protect themselves from the deadly virus.
- As time progresses, this can lead to health problems due to physical inactivity. Obesity is already a very big worldwide health issue.
- Physical inactivity can lead to diseases,both physical and mental. In these trying times, any kind of diseases can be deadly and physical activity helps boost immunity and keep diseases away.
- In this hectic lifestyle, we all get so busy with our daily schedule & this is where we always forget to take care of ourselves. It is important for us to take care of our body and mind as well. Maintaining correct posture while exercising is essential, as wrong postures can lead to body problems.
Our Solution
- Sofia is your real time interactive YOGA instructor, allowing anyone to harness the benefits of yoga from any place in the world.
- Sofia will ensure that however busy a person might be, they spend at least 50 mins of their day in physical activity and mental exercises. It’s time for people from all walks of life to start paying attention to physical as well as mental fitness.
- Practitioners tout yoga for its mind-body benefits—flexibility, toned muscles, reduced stress, among others.
- More recently, scientists have begun to test yoga’s effect on serious medical conditions.
- The results have been impressive enough that investigators expect yoga will soon become part of the standard treatment for a number of disorders.
- There are yoga tracks for beginners to Power Yoga tracks for a workout. Now, more than ever, we need our immune systems to function better. We have the immunity booster yoga track. The cardiovascular track helps increase blood flow to the muscles. The stress release track will make you feel relaxed and peaceful.
- Most important part of any kind of exercise you do while watching a video is the posture. Maintaining correct posture while exercising is essential, as wrong postures can lead to body problems. Sofia recognizes poses in real time. As you follow the video and reach an intermediate step in each pose, it analyses the posture and lets you proceed only when you complete the step successfully.
- We have gamified the app to let the users enjoy it more. They are awarded stars as points based on how good the accuracy of their pose is once they complete and progress through each step in the track. This ensures a fun and exciting approach to perfecting yoga postures.
Features
- Interactive experience through real time pose recognition
- Voice recognition which enables the user to engage in conversation
- Uses computer vision and deep learning keras models to guide you through every step of the asana only when you complete the previous step of the asana successfully.
- Specifically designed yoga tracks/playlists which are suited to the user’s health issues, creating a more personalized experience
How is Sofia diffrent from all the applications out there
Why would you choose Sofia? Simply because no other app out there implements real time pose prediction technology. Every time you are stuck on a step or an yogaasana, Sofia waits for you to complete it, and only then it gives intructions for the next asana, just like a personal yoga instructor who attends to you real time.
Research proven benefits of yoga :
- Yoga can significantly improve mood and reduce the symptoms of depression and anxiety.
- Women who do yoga during and after treatment of breast cancer experience less physical discomfort and stress.
- Yoga can lower blood pressure, cholesterol, and resting heart rates, and help slow the progression of atherosclerosis—all risk factors for heart disease.
- Menopausal women who took two months of a weekly restorative yoga class, reported a 30 percent decrease in hot flashes.
- People with various types of arthritis who practice yoga regularly can reduce joint pain, improve joint flexibility and function, and lower stress and tension to promote better sleep.
- Yoga during pregnancy have found it is also effective for reducing depression, particularly when it is started early in the pregnancy and can be combined with standard depression treatment. Yoga can also reduce pain and discomfort, as well as improve overall quality of life during pregnancy.
Requirement Specific Tracks
Adapted from the basic Ashtanga yoga, power yoga requires increased energy, focus, and strength. Muscles are challenged as the mind and body have to work together simultaneously to hold a position without giving up. Breathing, posing, moving, and increasing flexibility happen together at one time, which unearths a new level of discipline in your mind and body.
Yoga poses help massage organs and strengthens muscles while breathing techniques and meditation release stress and improve immunity.
A list of curated yoga poses for performing in the morning to feel fresh and energised throughout the day.
Yoga is a great way to stay active and is healthy for you and your baby. Yoga classes in pregnancy use relaxation and breathing techniques with postures that are adapted for pregnancy.
Yoga isn’t just beneficial for improving core strength, flexibility, and stress levels; it can also help you sleep better—especially if you suffer from insomnia. When people who have insomnia perform yoga on a daily basis, they sleep for longer, fall asleep faster, and return to sleep more quickly if they wake up in the middle of the night. This is also true for older people who have insomnia—those who are 60 and older experience better sleep quality, sleep for longer, and feel better during the day when they perform regular yoga.
Yoga to have a positive effect on cardiovascular risk factors: It helped lower blood pressure in people who have hypertension. It’s likely that the yoga restores “baroreceptor sensitivity.”
Migraine is a neurological disorder that causes recurring headaches ranging from moderate to high intensity. Yoga is a side-effect-free method to fight migraine.
Yoga can help increase breath and body awareness, slow your respiratory rate, and promote calm and relieve stress — all of which are beneficial for people who have asthma.
What are the metrics that one can use to analyse the impact of Sofia?
- The number of active users on the app
- Retention rate of users on app
- Social media engagement through gamification
- On a larger scale, overall health of regular app users and non users can be judged.
Tech Stack
Our tech stack consists of the following:
- Flutter (cross-platform app development framework)
- Auth0 (for user authentication)
- Firebase Cloud Firestore (for storing app data and user information)
- Firebase Storage (for storing videos)
- Google TTS and Google STT (for creating the voice assistant)
- Python, Tensorflow, Keras and TFLite (for creating the yoga pose recognition model)
How to use the app
Follow the steps below in order to get the app running from code:
- Clone the project:git clone https://github.com/sbis04/yoga-instructor.git
- Setup Flutter on your system following the guide here.
- Complete the Firebase setup by creating a new project from here for the specific platform (Android or iOS) on which you want to run the app.
- Include the Firebase secret files to the proper location in the project,
google-services.json
file for Android orGoogleService-Info.plist
file for iOS. - Register a new Native app on Auth0 by following this guide.
- Add the Auth0 secrets by creating a new file under
lib
folder calledsecrets.dart
in the following format:final String authDomain = ‘<Add Auth0 Domain here>’; final String authClientID = ‘<Add Auth0 Client ID here>’; - Now, you have successfully completed the setup. Run it by using the following command:flutter run yoga-instructor
License
Copyright (c) 2020 Souvik Biswas and Soumi Bardhan
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Download AI-powered personal Yoga Instructor app source code on GitHub
https://github.com/sbis04/yoga-instructor
Provides the list of the opensource Flutter apps collection with GitHub repository.