Inspiration
Montreal roads are full of potholes — and cities have no real-time way to detect or prioritize repairs. We wanted to build something that could autonomously inspect roads and give cities actionable, certified data.
What we learned
We learned how to integrate computer vision with a live drone stream, connect multiple APIs (Gemini, Solana, MongoDB, Snowflake) into a single pipeline, and build a real-time React dashboard under serious time pressure.
How we built it
AeroEye uses an ESP32-CAM drone streaming live RTMP video to a FastAPI backend. YOLOv8 detects potholes frame-by-frame, Gemini 2.0 Flash interprets natural language commands, and all results are stored in MongoDB, archived in Snowflake, and certified on Solana Devnet. The frontend is React + Vite with a live heatmap and Gemini-powered command panel.
Challenges
Getting the live RTMP stream, YOLOv8 inference, and GPS tagging to work together in real time was the hardest part. We also had to resolve several dependency conflicts and manage CORS issues between the React frontend and FastAPI backend.
Built With
- esp32-cam
- fastapi
- gemini-api
- hls.js
- leaflet.js
- mediamtx
- mongodb-atlas
- opencv
- python
- react
- snowflake
- solana-devnet
- tailwind-css
- vite
- websocket
- yolov8
Log in or sign up for Devpost to join the conversation.