Sofia

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.

sofia_timeline

WIP: Timeline updated on [February 2021]

Screenshots

The following screenshots are outdated, we are currently working on a new UI design :wink:

sofia_auth

sofia_name

sofia_gender

sofia_age

sofia_home

sofia_voice

sofia_track

tri_pose_1

tri_pose_2

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

  • POWER YOGA TRACK

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.

  • IMMUNITY

Yoga poses help massage organs and strengthens muscles while breathing techniques and meditation release stress and improve immunity.

  • MORNING

A list of curated yoga poses for performing in the morning to feel fresh and energised throughout the day.

  • YOGA IN PREGNANCY

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.

  • INSOMNIA

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.

  • CARDIOVASCULAR YOGA TRACT

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

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.

  • ASTHMA

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 or GoogleService-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 called secrets.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
    

GitHub

https://github.com/sbis04/yoga-instructor