Manobela won first place at the TrackTech Hackathon 2026! 1
Manobela is a driver monitoring system that uses only a smartphone camera to detect unsafe driving behaviors such as drowsiness, distraction, and phone use.
Why we built it
Manobela started as our project for the TrackTech Hackathon 2026.
The theme led us toward road safety, and we chose to explore driver monitoring because it was a problem where computer vision could make a real difference.
Existing driver monitoring systems often rely on dedicated hardware, expensive vehicles, or specialized fleet equipment. That creates a barrier for everyday drivers who could benefit from safety assistance.
We wanted to explore a simpler idea: what if the device people already carry could help them drive safer?
The goal was not to replace professional safety systems, but to make driver monitoring more accessible by using only a smartphone camera.
How it turned out
Real-time monitoring
Manobela uses the phone’s front camera to analyze the driver’s face while driving.
The system monitors: eye closure, yawning, head position, gaze direction, and phone usage.
When it detects potentially dangerous behavior, it sends alerts through visual, audio, and haptic feedback.
The challenge was making these alerts useful without becoming annoying. A system that triggers too often gets ignored, while one that is too conservative fails at its purpose.
Video analysis
Besides live monitoring, users can upload recorded driving videos for analysis.
This allows users to review their driving behavior after a trip instead of only relying on real-time warnings.
Driving insights
Each monitoring session is stored and summarized.


The dashboard provides: risk summaries through KPI cards and visual charts, session history, and timelines of detected events.
Navigation integration
We integrated OpenStreetMap navigation with monitoring sessions.
When navigation starts, monitoring can automatically begin. Each trip is associated with its route, allowing users to review which journeys had higher-risk behaviors.
Configuration
Users can customize monitoring behavior, including alerts, session logging, and API settings for different deployments.
How we built it
You can learn more about the technical side of things in the docs.
Technologies we used
| Backend | Python, FastAPI |
| Mobile App | TypeScript, React Native, Expo, Drizzle ORM, TailwindCSS |
| Computer Vision | OpenCV, MediaPipe, YOLOv8, ONNX Runtime |
| Real-time | WebRTC, WebSockets |
| Website | Next.js |
| Deployment | Docker, Azure App Service, Vercel, Expo EAS |
Real-time computer vision pipeline
The biggest technical challenge was getting real-time video processing working reliably.
The mobile app captures the camera feed and streams frames to the backend through WebRTC. The backend processes the frames, runs detection models, and sends results back to the phone.
This approach kept the mobile application lightweight because the heavy processing happened server-side.
The tradeoff was latency. Since inference was not running directly on the device, network conditions became part of the system.
Detecting driver behavior
The system combines several computer vision techniques.
Eye closure detection
We use MediaPipe facial landmarks to calculate the Eye Aspect Ratio (EAR). When the eye remains closed beyond a threshold, the system considers it a possible drowsiness event.
We also calculate PERCLOS (percentage of eyelid closure) to reduce false positives from normal blinking.
Yawn detection
Mouth landmarks are used to calculate the Mouth Aspect Ratio (MAR). Large and sustained mouth openings indicate possible yawning.
Head pose and gaze tracking
The system tracks face orientation and eye position to determine whether the driver is looking away from the road.
A short calibration period establishes the driver’s normal position before detecting deviations.
Phone detection
YOLOv8 detects objects in the frame, including mobile phones. Persistent high-confidence detections are treated as possible phone usage.
Making detections usable
Raw computer vision output is not enough for a real product.
Early versions could react too quickly to normal behavior, such as blinking or briefly looking away. To make the system more reliable, we added techniques such as calibration periods, smoothing, debouncing, and hysteresis to reduce false detections and improve stability.
These helped balance sensitivity with reducing false alarms.
What I learned
Manobela was one of the biggest projects I have built and led.
It pushed me beyond building isolated features and into building a complete AI-driven product: a mobile application, backend services, computer vision pipeline, deployment infrastructure, and user experience.
The hardest part was not getting individual models to work. It was making everything work together in real time.
WebRTC was new territory for me, and making video streaming reliable introduced problems that do not appear in normal web applications. Latency, server performance, and connection stability all became product concerns.
I also learned that computer vision is much messier outside controlled environments. Lighting, camera angles, face shapes, and movement all affect detection quality. A model that works in a demo still needs many layers of engineering before it feels reliable.
Leading the project also changed how I approach software development. A good idea is only one part of building a product. The difficult part is turning that idea into something people can actually use.
Manobela reinforced my interest in building AI applications that solve practical problems. It showed me that AI is not just about models, but about integrating those models into products that people can interact with.
Footnotes
-
Update (Feb 2026): Manobela won first place at the TrackTech Hackathon 2026, hosted by the CPU Computer Science Society (CSS), competing against seven other teams from Western Visayas. ↩
