Inspiration
The portion of people in the U.S. that know how to perform CPR is a staggering a 18% according to JAHA. When discussing problems to tackle for this hackathon, we had no issue seeing the lack of faculty and opportunities for interested people to practice and learn at their own confidence.
What it does
Reviva offers users to record themselves practicing their CPR techniques. The app will analyze the quality of your CPR based on how straight your arms are, the amplitude of your compressions, and the rate at which you are compressing. Reviva also stores old sessions for the user to see and learn from.
How we built it
We use live video feed from the user's webcam to track user pose. That video stream will then be analyzed and processed in our backend by and a custom algorithm considering linear algebra and trigonometry. We used NextJS to build the user interface, and we used SupaBase to generate and store unique, secure user IDs to user data safe and organized. On top of our algorithm, we used Google Gemini to take make constructive feedback, based on their session performance, to help the user could improve their CPR administration.
Challenges we ran into
A challenge we faced was managing video files between client and server. The file types for web cam feed, post detection, and databasing proved to be a obstacle we worked tirelessly to overcome.
Accomplishments that we're proud of
This both of our first times working with limb detection and computer vision. The models we were able to construct in Python and Javascript were proud achievements of this event. We also created our own algorithm.
What we learned
We learned of MediaPipe, uuids, and instance routes for NextJS and how we can make specific webpages based on credentials.
What's next for Reviva
We plan to move from SupaBase because of their low limit on memory. Its not only costly, but we didn't want to compromise on the quality of data we had for the users. Going through this experience with SupaBase did leave the door open for user authentication to be easily implemented in our project structure for secure user access.
Log in or sign up for Devpost to join the conversation.