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.
Screenshots
The following screenshots are outdated, we are currently working on a new UI design
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.
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