Inspiration

We noticed that FIA was making safety calls too late after a racing incident, creating a major risk to the drivers approaching the scene of the incident as well as the spectators nearby. We wanted to create a system that would eliminate the delay in human decision making and reaction time and prevent further accidents from happening, by calling in the safety car, VSC, red flag, etc., and notifying the following drivers almost immediately after an anomaly has been detected.

We also went along a step further and looked at the cost side of the safety because F1 has to pay third-party insurance companies to insure the track, but the insurance companies place a "blanket" price on the entire race track. so the insurance premiums can be unfairly high, discouraging the investment of more safety features than those already required. So we wanted to analyze the per-section risk hazard and suggest spectator safety measures to provide insurers with a clearer idea of the track risks and so they can break down the insurance premiums to charge accurately based on how risky each section of the track is, rather than just placing an over priced blanket premium on the whole track.

What it does

It analyzes live-race driver telemetry to determine whether a driver has crashed or stopped their car at or near the actual racing line, as well as the severity of the accident to suggest the correct course of action based on the 2026 FIA F1 sporting regulations, and notify any drivers behind, that this incident has occurred up front. This data, along with historical race data for the same racing series, is used to determine the "safetyness" of both the driver and the spectator along each of the track sections. Things like traction loss, braking issues, crashes, are detected through the telemetry, and is used to provide the risk likelihood and severity, as well as the possible insurance premium based on predicted insurance info for that section and suggested safety feature implementations to reduce the insurance premium on that sector of the track.

How we built it

Python/FastAPI backend on the OpenF1 API, with NumPy/Pandas driving a Bayesian Monte Carlo insurance-pricing model and a real-time telemetry detector; sentence-transformers + FAISS for semantic search over the actual FIA sporting regulations; faster-whisper for radio transcription; and a Next.js/React frontend with react-three-fiber for the 3D track view.

Challenges we ran into

  1. Determining how to turn raw driver coordinates into actual track position by using distance-based track progress percentage. and distance from the driver's normal racing line.

  2. Analyzing speed changes and RPM changes to detect racing anomalies and differentiating between a slowing-down car vs an actually stopped car.

  3. Using probabilistic models to predict and identify high- and low-risk danger zones.

  4. Estimating the relevant insurance policies, including third-party ones, where data is limited, using large LLMs to keep our cost estimates as accurate as possible.

Accomplishments that we're proud of

Just getting the prototype done and being able to flag the racing anomaly to the FIA significantly sooner than waiting for the FIA to notice it by themselves. , and letting teh track owners know insurance costs

What we learned

Designing a system that requires near-instant responses must do all the heavylifting itself. So all the FIA rulebook checks, anomaly detection should be detected using our own system, and for such scenarios there are multiple cases that require on several factors to verify the severity (more explained in the "whats next" section).

What's next for CircuitGuard

** IF THE FIA LETS US INTEGRATE IT INTO ACTUAL GRAND PRIXS FOR TESTING: ** computer vision: to detect on-track debris, seeing the cause of accident (driver/mechanical error, or track-caused problem), severity of crash, and the status of the track once the damage has been noted. We have the base code ready for it, we just havent been able to test and implement it into the frontend given the timeframe.

g-force factorization: to further establish crash severity

on-track vs off-track differentiation: using the FIA data to determine if a track is on or off track and further help classify more accurately the state of race.

** WHAT WE CAN IMPLEMENT IF WE GIVEN MORE TIME ** Driver Tone Analysis: to "predict" the severity of an accident by "listening" for driver's tone, any signs of grunting or heavy breathing. Our competitors were likely using speech to text to note down an accident but never got into differentiating the tone of the driver. For example, a driver saying "I'm sorry" in a normal tone vs while grunting makes a massive difference. We have the base code ready for it, we just havent been able to test and implement it into the frontend given the timeframe.

Spectator safety measure simulations: allowing the user to "drag and drop" to move or adjust new or existing spectator safety measures, like tyre barriers, fencing, grandstand seating, and analyzing risk to their safety by running more Monte Carlo simulations on the new adjusted section, and predicting trajectory of debris on probable accident scenarios, as well as provide the projected insurance premium if this feature is integrated.

Built With

Share this project:

Updates

Submission history