Inspiration
Stacy came in with her pet project and had the kindness of sharing it with the rest of us. After intensely debating 10 fabulous ideas, we all agreed that the project we would learn the most from would be yawn-alytics.
What it does
The fatigue tracking app is designed to monitor and analyze users' sleep patterns and energy levels. It features an implementation of the Psychomotor Vigilance Task to assess alertness, and includes a streamlined Self-Assessment page that efficiently gathers user data in under a minute, enhanced by custom icons for improved user experience. The app was conceptualized to include key features for tracking fatigue and specifying data formats. It processes and converts data into human-readable text and utilizes mock data for testing. Additionally, it employs Firestore and FL_Charts for creating detailed, visually appealing charts in its reports, providing users with pretty analysis of their fatigue and sleep trends.
How we built it
Our tech stack includes Flutter for Frontend, and Python and OpenAI's GPT3.5 to generate mock data within our specified data format, and then lastly, Node.js for Cloud Functions from Firebase. This allows us to be completely serverless and invoke the "backend" when necessary. Our database was through Firestore.
Each person did so much in the challenge! Erin devised an implementation of the Psychomotor Vigilance Task using Flutter. Ruchi worked on all aspects of the product cycle as well when she took ownership of the Self-Assessment page and cut down the completion of the form from 2-3 minutes to less than 60 seconds; this took a lot of effort with Flutter custom icons to generate better UX. Stacy came up with the initial idea, worked together with Arushi to come up with app features and specify the data format, preprocessed data to convert Mock Data into human-readable text, and generated mock data using OpenAI GPT3.5. Arushi wrangled with Firestore and FL_Charts to generate beautiful charts in our reports.
Challenges we ran into
What challenges did we not face is a better question. Here's a highlight of some of the challenges
- New Languages for Everyone - no one had experience using Dart or Flutter.
- Self-Assessment was too long and making the components responsive was also another challenge
- Because of the M1/2 chip there were problems integrating Firebase with the Flutter app
- Windows rendering was taking 5-10 minutes slowing down the development
- It was challenging to make a game, but Erin adapted by simplifying the scope of the game to make accomplishable within the timeframe
Accomplishments that we're proud of
All of this was an accomplishment for 3/4 member's first time at a Hackathon and no one knew how to do Flutter. It's been an incredible effort:
Erin devised an implementation of the Psychomotor Vigilance Task using Flutter. Ruchi worked on all aspects of the product cycle as well when she took ownership of the Self-Assessment page and cut down the completion of the form from 2-3 minutes to less than 60 seconds; this took a lot of effort with Flutter custom icons to generate better UX. Stacy came up with the initial idea, worked together with Arushi to come up with app features and specify the data format, preprocessed data to convert Mock Data into human-readable text, and generated mock data using OpenAI GPT3.5. Arushi wrangled with Firestore and FL_Charts to generate beautiful charts in our reports.
What we learned
Erin learned a lot about the Dart language Ruchi learned a lot about Dart and Flutter, and UI. Learned how to use the full scope of knowledge existing on the web since nothing is cheating, in fact reinventing the wheel is a waste of time. Stacy learned about how different components exist and integrate within an application. Arushi learned about Flutter and how to frontend. Also, how to do an end-to-end integration with the frontend and backend. Her day job is just being a researcher.
What's next for yawn-alytics
Complete integration between frontend and backend. Allow for more users. Make reports more dynamic and add more options. Enhance the game to include success rate.
Log in or sign up for Devpost to join the conversation.