Intro
"Build a solution that bridges high performance computing with real-time decision making." What's a good intro for the devpost submission to this challenge?
That's what we were going to ask Gemini. But then... we ran out of credits. So we'll just talk about what inspired us.
Jokes aside, we wanted to be innovative in making a tool to assist race engineers and their drivers to be their best, because in Formula 1, speed isn’t just on the track: it’s in the entire real-time decision-making process. Real time performance was really important to us: no high-latency LLM wrappers, bloated libraries, or suboptimal datasets. We wanted the best, and so we built it all from the ground up.
What it does
We built and trained a reinforcement learning agent + dashboard that helps race engineers make game-time decisions. In order to this, we designed a reward function and custom racing environment to mimic real-life F1 challenges and tradeoffs, alongside a physics simulation, data pipeline, and dashboards all from scratch. We also designed and implemented two concurrent backends and frontends to compare two different agent training algorithms (DQN vs PPO) and have them race each other in real-time. For our PPO training algorithm, we implemented evolutionary RL, where the best model from the previous run was saved and used to train again in a new environment with better-tuned rewards. We also devised a way to procedurally generate virtual F1-esque racetracks on demand, complete with all the necessary data to provide context to train our RL models.
Of course, its not possible to build a fully realistic F1 simulation for a hackathon project. For the purpose of our demo and due to time restrictions, we have a limited subset of choices that our reinforcement models can choose to make at any given point in time. Given rapidly changing state variables like current velocity, tire wear (per tire), fuel remaining, distance to pit, and steepness of the curve of the track, our RL models advise engineers and drivers in real-time to hit the brakes, speed up, take the next pit stop to freshen up the tires, or keep on pushing to take the lead. Combined with ElevenLabs voice integration and higher-level strategies powered by Gemini (not as real time, but useful, high-level analysis), the data dashboard provides amazing context, automation, and visualization. And its all done extremely fast due to inference on locally run lightweight models with real-time data streams for millisecond decision making.
How we built it
Reinforcement Learning uvicorn (hosting a backend server) fastapi (exposing backend APIs) OpenAI Gymnasium (for model training) Google Colab (compute) DQN and PPO (two different RL strategies) HTML/CSS/Javascript/Python PySerial (encoding network communication over USB) ArduinoIDE (flashing custom firmware) platformIO (flashing custom firmware)
Challenges we ran into
At the start, we considered fine-tuning an LLM or using a deep neural network to predict optimal strategies based on data. But we quickly realized there’s no real ground truth in race strategy — it’s a constantly changing optimization problem that depends on the driver, the car, and especially the fleeting moment. Furthermore, LLMs introduced unacceptable levels of latency in an environment where milliseconds matter, and the output was less deterministic and concise.
That’s where reinforcement learning came in. While most RL racing projects focus on making the agent drive the car itself, our goal was fundamentally different: we wanted to crunch numerous variables across many data streams in real-time to provide near-instantaneous advice to humans (race engineer and driver) — to recommend how the car might be driven given any condition. That meant defining a new kind of environment and reward system focused on strategy rather than control.
Designing the state and action spaces from scratch, balancing realism with realistic time constraints, and debugging our custom simulator all presented significant challenges. But through trial, error, and a lot of redbull, we got it working. We were ambitious and even wanted to extend into hardware integration (streaming model decisions to a display that drivers could glance at in the car), though firmware issues forced us to eventually abandon. While it would have been easy to build an LLM wrapper or adopt someone else's code or datasets, we are highly proud that our entire data pipeline, dashboarding, and supporting components were designed and built from scratch by us.
Accomplishments that we're proud of
- In just 24 hours, we built and trained two working reinforcement learning agents that can recommend competitive race strategies.
- We created a whole virtual racing environment from scratch, from a racetrack creator to a physics simulator to a training harness that provided the necessary state for our RL models
- We developed a polished full-stack data dashboard, synthesizing time-series data from multiple sources and complete with graphing and tables
- We successfully bridged HPC-style simulation with actionable AI insights within mere millisecond delays, leveraging local inferencing and lightweight yet potent model architecture, delivering on the core challenge of the hackathon.
- The entire project is open and reproducible, accessible for anyone to test or build upon.
- Tackling a lot more challenges from 2 AM to 7 AM that we just can't remember anymore.
What we learned
Although our team had some background in reinforcement learning, this was the first time we designed and trained not just one, but two different RL agents completely from scratch — and even more, integrated it into a polished full-stack application.
We learned how complex defining the right reward function can be, and how critical it is to think about what behavior you’re actually incentivizing. We also gained hands-on experience optimizing training performance, visualizing learning progress, and designing interfaces that translate AI outputs into human-readable insights.
Most importantly, we learned how to turn abstract machine learning concepts into something that feels real and useful.
What's next for R.A.C.E.R (Real-time Adaptive Computing Engine for Racing)
So far, R.A.C.E.R. has been a demonstration of how AI can augment race engineers and strategists. But the potential goes much further.
In future iterations, we’d like to integrate real-world F1 telemetry data and expand the model’s state space to include weather, track temperature, and driver behavior. We’re also exploring ways to make the RL agent continuously learn mid-race using streaming data — closing the loop between simulation and reality. The beauty of reinforcement learning assuming a well-defined reward function is its ability to continuously improve on new, unclassified data.
We believe reinforcement learning has the power to transform how strategy is made — not just in racing, but in any field where every millisecond counts.
Built With
- arduinoide
- css
- elevenlabs
- fastapi
- google-colab
- html
- javascript
- openai-gymnasium
- pydantic
- python
- reinforcement-learning
- uvicorn
- websockets



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