Inspiration

Many people are unaware of the silent killer that lurks right behind drunk driving. Drowsy Driving seems so harmless to many, but as many as 50% of Adult Americans have reported feeling sleepy behind the wheel and 1 in 25 have even reported falling asleep behind it. Anxiety and stress is also proven to be a factor in car accidents. The mental state of the driver can have significant effects on someone's attention, judgment, and reaction time.

What it does

Calmoto is a web application that uses image recognition technology to determine when drivers are too sleepy to get behind the wheel. By it's constant monitoring, it always ensures that the person behind the wheel is fit to drive. Additionally, Calmoto offers audiobook features that read stories to the drivers in the background to ensure that the users are staying sharp and alert while driving. Calmoto also offers de-stressing options to ensure that drivers are always in a good mental state.

How we built it

We built Calmoto using a combination of modern technologies and APIs that work together seamlessly to ensure both safety and user engagement. Our backend is powered by Flask, which serves as the central hub connecting all components. For real-time monitoring, we integrated a YOLO-based model via Roboflow to detect signs of drowsiness and stress, ensuring that any fatigue or high-stress indicators are identified promptly. To keep drivers engaged and alert, we harnessed the OpenAI API to generate interactive quiz questions based on content extracted from audiobooks and other materials, while Eleven Labs’ text-to-speech service transforms this text into clear, natural audio feedback. In addition, we utilized libraries such as pypdf to extract text from PDFs and SpeechRecognition to capture and process voice input, which further enhances interactivity.

Challenges we ran into

We initially set out to build our frontend with React Native, but soon encountered significant challenges with styling and integrating it seamlessly with our backend. This led us to switch to a more straightforward approach using plain HTML, CSS, and JavaScript, which greatly improved both our design control and overall compatibility. Additionally, we faced limitations with API usage, so we addressed this challenge by registering multiple accounts to effectively manage the load.

Accomplishments that we're proud of

We're incredibly proud of how Calmoto is making roads a safer place by proactively ensuring that drivers remain alert and fit to drive, while also offering tools to manage stress on the road. On the technical side, we successfully integrated a YOLO-based model via Roboflow for real-time detection of drowsiness and stress, harnessed the OpenAI API to generate interactive quiz questions that keep drivers engaged, and employed Eleven Labs’ text-to-speech service to deliver clear, natural audio feedback.

What we learned

Working on Calmoto has been an incredible learning experience. We’ve solidified our skills in Flask by building a robust backend that seamlessly ties together a variety of APIs and services. Along the way, we had the opportunity to work with a diverse range of technologies—from integrating the OpenAI API and Eleven Labs’ text-to-speech for interactive content, to experimenting with the training and implementation of YOLO models for real-time image recognition.

What's next for Calmoto

Looking ahead, we hope to bring a number of creative upgrades to transform Calmoto into a fully personalized and advanced driver safety platform. With additional time and resources, we plan to refine our real-time detection algorithms even further while also incorporating a database with auth that enables users to upload their own PDFs for personalized audiobook content. We’re also excited about the potential for integrating wearables and other IoT devices to monitor a broader range of health metrics. Additionally, we are looking into user-collected data on certain roads with higher counts of drowsiness, which would be vital in building a more safe future for everyone.

Built With

Share this project:

Updates