Inspiration
There are around 400,000 drowning related incidents worldwide, 4,000 of which are mere children from ages 5-15. Every summer, headlines remind us that drowning can happen silently and within seconds. Despite lifeguards and cameras, the human eye can miss subtle signs of distress — a moment’s delay can cost a life. Our team wanted to build something that never blinks, an intelligent companion that can watch the water tirelessly and raise the alarm when someone can’t.
The Drowning Detection System began as a simple idea: what if AI could notice what we sometimes don’t?
What it does
The Drowning Detection System is an AI-powered water safety platform that continuously monitors swimming areas through live video or uploaded footage to identify signs of drowning in real time. Using advanced computer vision and motion analysis, the system detects people in the water and observes their movement patterns, looking for indicators such as limited horizontal motion, vertical stillness, erratic thrashing, or prolonged submersion.
When distress is detected, the system instantly raises alerts on the dashboard, displaying bounding boxes, confidence levels, and real-time updates. Simultaneously, it generates contextual warning messages using Groq’s language model and delivers them as voice alerts via Fish Audio’s text-to-speech technology to immediately capture human attention. Intelligent throttling ensures critical situations are prioritized without overwhelming users.
Whether it’s a pool, lake, or beach, the Drowning Detection System acts as a tireless digital lifeguard — always watching, always ready to alert when seconds matter.
How we built it
We built a full-stack web application using FastAPI for real-time video processing and Next.js for a responsive monitoring dashboard. Our detection pipeline uses YOLOv8 models to track swimmers and evaluate their motion patterns over time.
Speed matters, when someone is drowning, every second matters, we don't have time to wait for slow LLM's or even to read messages as they are displayed. For this reason we integrated Groq’s LLM for lightning fast contextual alert messages and Fish Audio’s text-to-speech to broadcast warnings. Every part of the system — from automatic camera activation to the alert history tracker — was designed for speed, clarity, and reliability.
Challenges we ran into
Tuning the parameters that determine when a swimmer transitions from normal motion to distress was particularly difficult. Small changes in thresholds could cause false positives or missed detections, so we iterated extensively on factors like velocity decay and vertical stagnation to achieve stable results. We also struggled with managing the rate of video frame requests sent to the FastAPI backend. Continuous streaming initially caused performance bottlenecks, requiring us to adjust request speeds and optimize concurrency to maintain smooth, real-time analysis.
Finally, refining the voice agent took multiple iterations. Early versions triggered alerts for every person detected, but we reworked it to activate only during signs of struggle—making notifications more meaningful and reducing unnecessary noise.
Accomplishments that we're proud of
We achieved reliable real-time drowning detection with automated** alert escalation** — something that could genuinely save lives. Our clean, auto-activating dashboard makes monitoring effortless, and the integration of AI-generated messages brought an unexpected layer of empathy to machine alerts.
What's next for A-IDE
We plan to extend the system to explore thermal imaging for night monitoring. Future versions will leverage edge devices for on-site processing and connect to emergency dispatch systems for immediate response. We also hope to implement the idea into smart glasses for easy accessibility. Because every second matters — and if AI can save even one life, it’s worth every line of code.
Built With
- fastapi
- fishaudio
- groq
- javascript
- next.js
- python
- yolov8

Log in or sign up for Devpost to join the conversation.