RRS — Real-time Race Strategist
From telemetry to victory — AI that tells you exactly when to pit, in 3 seconds flat.
Inspiration
I’m Siphe from South Africa, and I’ve always been obsessed with the split-second decisions that win races. In the GR Cup, pit strategy can turn P5 into P1 — but teams still guess tire wear using rules of thumb. When I saw the TRD GR Cup COTA 2024 telemetry dataset, I knew: this is the data that can end the guesswork.
What I Learned
- How to turn a 2.2 GB raw Kafka-style CSV into a clean, wide-format
parquetin under 10 seconds. - That distance = speed × time lets you reconstruct the entire COTA layout without GPS — pure telemetry magic.
- Gradient Boosting can achieve (R^2 = 0.74) predicting lap-time loss from tire wear, brake usage, and sector-specific stress.
- One-click Windows deployment with
activate.batis a game-changer for judges who hatepip install.
How I Built It
Data pipeline (
data_preprocess.py):- Pivoted 500 000+ long-format rows into wide format.
- Merged real lap times (
meta_source == 'lap_time'). - Computed cumulative distance → split COTA into 20 sectors.
- Created a physics-based tire-wear model:
[ \text{tire_wear_\%} = (lap \times 3.2) + (brake \times 8 \times \text{sector_wear_factor}) ]
- Pivoted 500 000+ long-format rows into wide format.
AI model (
train_model.py):- Trained
GradientBoostingRegressorontire_wear_%,lap,speed_avg,throttle_avg,brake. - Output: seconds lost per lap → exact pit window.
- Trained
Dashboard (
streamlit_app.py):- Sector Radar Chart reveals the top tire killers (T11 Esses = 2.5× wear).
- Live AI advice: “PIT NOW → save 2.1 s”.
- Deployed instantly on Streamlit Cloud.
- Sector Radar Chart reveals the top tire killers (T11 Esses = 2.5× wear).
One-click magic (
activate.bat):streamlit run src\streamlit_app.py ## Accomplishments that we're proud of
What we learned
What's next for RRS(Real-time Race Strategist) — AI Pit Strategist
Built With
- joblib
- numpy
- pandas
- parquet
- plotly
- python
- scikit-learn
- streamlit

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