Inspiration
Sim racing simulators like DiRT Rally 2.0 generate rich, high-fidelity physics streams, but extracting split-second time savings from thousands of lines of raw sensor logs requires expert data-science knowledge. Drivers are forced to guess why they lost traction, why their car lost stability over a crest, or why they spun out on ice. We wanted to bridge this gap. Inspired by real-world World Rally Championship (WRC) pit-wall engineering strategy, we set out to build an accessible digital race engineer that runs entirely on-premise to transform complex, multi-variable numbers into real-time, actionable driver coaching strategy.
What it does
RallyCoach is an automated, localized analytics pipeline that translates raw time-series racing telemetry directly into plain-English human coaching advice. The engine operates in a three-stage execution layer:
- Data Ingestion: Catches high-frequency telemetry data broadcasts from the simulator engine.
- Machine Learning Feature Extraction: Synthesizes the raw variables into critical analytical blocks—identifying complex physics trends like Force Feedback clipping duration, throttle application linearity, slip angle efficiency windows, and chassis pitch stability over jumps.
- AI Translation: Feeds these consolidated matrices into an on-premise, open-source Large Language Model (Qwen 2.5 7B) using custom CPU thread restrictions to isolate the computing load, providing the driver with an immediate tactical breakdown and mechanical setup adjustments without causing in-game stutters.
How we built it
We engineered the core infrastructure entirely in Python, structuring a unified controller to handle data processing and framework communications. The telemetry matrix monitors exactly 75 distinct variables across rotational dynamics, suspension travel paths, driver inputs, coordinates, and vehicle thermal signatures. The backend architecture packages these variables into targeted matrices before making local API requests to an offline Ollama server instance hosting Qwen 2.5. To preserve computer resources for running the heavy racing simulator on a graphics-card-constrained environment, we configured thread limitations and low temperature values inside our script payload to guarantee deterministic, fast responses directly inside the command terminal.
Challenges we ran into
Operating an AI pipeline locally on a system without a discrete NVIDIA GPU introduced significant hardware constraints. Initial integration tests caused the local LLM inference engine to consume the entire processing stack, which dropped the simulation's frame rates and introduced massive loop lag. We had to systematically isolate the computing layers by restricting the AI framework to 4 threads, preserving the remaining CPU cores to process the simulator physics independently. We also ran into severe Windows environmental conflicts during development where dependencies and software paths were completely hidden from the Command Prompt terminal, requiring manual override techniques and launcher shortcuts to build clean repository tracking pipelines.
Accomplishments that we're proud of
We are proud of building a fully unified, local end-to-end framework that operates with zero API costs, zero data latencies, and total network privacy. Successfully linking our multi-variable machine learning data features directly to the internal reasoning layers of an open-source model was a major milestone. We achieved a clean pipeline execution where abstract numbers (like combined yaw rates, damper strokes, and pedal linearieties) reliably output accurate racing engineering terms (like understeer balance, trail-braking load transfers, and traction restoration adjustments).
What we learned
This hackathon project taught us a massive lesson in local performance optimization and edge deployment. We learned that passing thousands of rows of raw numerical text to a language model is incredibly inefficient and costly for system tokenizers. Instead, using a specialized machine learning model as the "sensor" to condense the high-frequency metrics down to structured JSON features before letting the LLM act as the "translator" is the golden standard for processing edge IoT and automotive telemetry.
What's next for RallyCoach
The immediate next step is to upgrade the framework from a post-session after-action report into a live voice-synthesized trackside audio coach. Instead of using DiRT Rally 2.0, we will get better data from more developer friendly simulators like Asetto Corsa and BeamNG. Another thing is to have our ML model have easier utilization of broader topics and data sets other than Rally Car Sim Racing.
Built With
- javascript
- lamma
- python
- schit-learn
- xgboost