Inspiration
Growing up in Bishkek, surrounded by towering mountain ranges, the seasonal threat of landslides and mudflows is a very real, localized reality. Entire communities and critical roadways are often at the mercy of unpredictable terrain. When researching existing solutions, I noticed a massive gap: commercial slope detectors are purely passive. They wait for the soil to fail and then send an automated text message. I realized that detection is only half the battle. I wanted to build an active, closed-loop ecosystem that doesn’t just watch a disaster happen, but autonomously deploys hardware to verify, inspect, and respond before the terrain fully gives way.
What it does
RIFT is an autonomous, multi-tier terrain monitoring and response system. Instead of relying on a single data point, it deploys localized sensor nodes that constantly monitor the microclimate and physical shifts of a slope.
When my backend detects a critical convergence of risk factors—such as a sudden spike in soil moisture paired with abnormal tilt—it doesn't just sound a blind alarm. Instead, it triggers the rift_master protocol, deploying an autonomous rover to the high-risk zone. The rover uses edge computer vision to physically inspect the area for surface-level deformations, fractures, or obstacles, giving operators a verified, real-time picture of the hazard.
How I built it
I structured RIFT across three distinct layers:
The Hardware Node: I custom-built the sensor arrays using ESP32 microcontrollers programmed in C++. These gather real-time telemetry from MPU6050 sensors (for tilt and slope stability), moisture sensors, and ultrasonic sensors (for physical displacement).
The Risk Engine: I built a lightweight, lightning-fast Python backend using FastAPI. Instead of treating every sensor equally, I wrote a weighted fusion algorithm that dynamically calculates hazard severity, filtering out noise and prioritizing genuine geological anomalies.
The Vision & Response: I integrated Ultralytics YOLOv8 and OpenCV directly into the rover's node logic. When deployed, the rover visually cross-references the telemetry data, actively seeking out cracks and terrain degradation.
Challenges I ran into
Bridging the gap between raw physical hardware and a responsive software backend is always a chaotic process. One of my biggest hurdles was sensor noise. Early on, a drop of water or even a slight bump to the hardware would trigger false alarms. I had to spend a significant amount of time fine-tuning my Python risk engine to rely on "sensor fusion"—ensuring that the system only triggers a rover deployment when multiple data points (like moisture and tilt) corroborate a structural failure. Additionally, getting the YOLOv8 model to consistently recognize irregular terrain cracks on a moving rover required heavy optimization.
Accomplishments that I'm proud of
I am incredibly proud of successfully moving beyond a "dashboard-only" project. I managed to create a true closed-loop robotic system where the software actually commands a physical intervention. Dropping heavy cloud dependencies to keep my risk engine running fast and locally via FastAPI was a huge architectural win. Seeing the rover autonomously boot up and deploy exactly when the fusion engine hit the redline was an unforgettable moment.
What I learned
This project forced me to step out of my software comfort zone and dive deep into the messy reality of the physical world. I learned how to properly manage serial data streams, the intricacies of real-time computer vision processing on moving hardware, and the brutal reality of hardware debugging. More importantly, I learned how to architect a system designed for extreme reliability—because when it comes to environmental hazards, a dropped connection isn't an option.
What's next for RIFT
My immediate next step is scaling the stationary nodes into a full mesh network, allowing a single risk engine to monitor miles of vulnerable roadway simultaneously. I also plan to upgrade the rover's autonomous navigation by integrating optical flow visual odometry, allowing it to navigate complex, unstructured environments even if GPS is unavailable during a severe weather event. Additionally, I plan to implement a stronger base along with rigid wheels so it can move through irregular terrain with ease.
Log in or sign up for Devpost to join the conversation.