Inspiration
We asked ourselves: What if we could build an AI agent that doesn't just show charts, but actually does the job of a Race Engineer? What if it could automatically watch every lap, flag the mistakes, and tell the driver exactly how to fix them in plain English?
What it does
The Ghost Engineer is an automated analytics platform that turns raw telemetry into actionable coaching insights instantly.
Automated Anomaly Detection: Instead of manually searching for errors, our system uses an Isolation Forest (Unsupervised Machine Learning) model to scan the entire session. It filters out the "normal" laps and instantly flags statistical outliers, whether they are driving errors or "Magic Laps."
Root Cause Diagnosis: When an anomaly is detected, the AI acts as a detective. It compares the bad lap against a "Ghost Car" (a baseline derived from the driver's Top 5 Laps). It then generates a natural language report, such as: "Speed dropped by 12 kph at The Hairpin due to 5 bar higher brake pressure."
How we built it
Backend & ML: We used Python and Scikit-Learn. The core engine runs an Isolation Forest algorithm on sector split times to identify deviations from the cluster.
Data Processing: We used Pandas for massive time-series manipulation. A critical challenge was aligning laps of different durations; we implemented distance-based interpolation to normalize telemetry traces (speed, throttle, brake) so they could be compared "apple-to-apples."
Visualization: The frontend is built with Streamlit and Plotly. We developed custom interactive graphs with synchronized zooming, when you zoom into a spike on the Steering graph, the Throttle and Brake graphs align automatically to show cause-and-effect.
Challenges we ran into
Data Synchronization: The timing data (model file) and the sensor telemetry (CSV) were logged on different systems, leading to timestamp mismatches. We built a validation layer that checks the integrity of sector splits against the total lap time to prevent "hallucinations" in the dashboard.
Sensor Dropouts: The GPS speed sensor had a lower update rate than the accelerometer, causing "broken" lines in our graphs. We implemented linear interpolation to smooth the data and create continuous traces.
Accomplishments that we're proud of
The "AI Insight" Box: We successfully bridged the gap between raw numbers and human language. Seeing the dashboard output a sentence like "Throttle was 10% lower at Turn 7" without us hard-coding that specific corner was a huge win.
What we learned
Unsupervised Learning is powerful for sports: You don't always need labeled training data ("this is a crash"). By simply modeling "normality," you can identify everything interesting from crashes to personal bests.
Comparing a driver against themselves (their own Top 5 average) is often more valuable for coaching than comparing them against a pro, as it shows attainable improvements.
Log in or sign up for Devpost to join the conversation.