The Overlays

Fifteen broadcast graphics, each a small local web server you add to OBS. Every one is driven from live iRacing telemetry and runs entirely on your own PC.

Operator The iRacing Broadcast Dashboard operator screen: driver list with positions and gaps, camera-angle control, and live overtake and incident feeds with auto-replay buttons

Broadcast Dashboard

The control center for the whole stream: live telemetry for every car, full camera control (Most Exciting, Focus Leader, Focus Crashes, per-component cameras), and automatic overtake & incident detection with one-click auto-replay. One director can run the broadcast while the action plays out, catching the moments that matter without watching every car.

localhost:5000 iracing_dashboard.py
Operator The dashboard playback panel: a LIVE indicator with rewind, pause, play and fast-forward transport controls and a Jump-to-Round selector

Instant-Replay Controls

Part of the dashboard: a transport bar that scrubs the iRacing replay without leaving the operator view — rewind, pause, play, fast-forward, and a Jump-to-Round selector to snap straight to the start of any race. The one-click replay buttons on the overtake and incident feeds drive this panel, so the director can roll a clean replay of the move that just happened.

localhost:5000 playback panel
Overlay Live standings tower listing the field with position, driver, gap and pit information, plus manufacturer logos and a session-info bar

Live Standings Tower

The bread-and-butter timing tower: live order with a session-info bar, manufacturer brand logos and pit info. Toggle driver/team names, gap vs. interval and the speed column. Custom brand logos drop straight into a brands/ folder as SVGs.

localhost:5005 iracing_standings.py
Overlay Qualifying grid overlay with colored car silhouettes arranged by grid position

Qualifying Grid

A clean pre-race grid with colored car silhouettes, perfect for the build-up to lights out. Reads the qualifying order straight from the session so it is always correct, no manual entry.

localhost:5001 iracing_grid.py
Overlay Full race results overlay showing finishing order, gaps, incident counts and fastest lap

Race Results

The full classification at the flag — finishing order, gaps, incident counts and fastest lap — with a minimal “lite” variant for tighter layouts. Drops onto the post-race screen with zero data entry.

localhost:5002–5003 iracing_results.py
Offline Offline SVG track map overlay with live car dots positioned around the circuit

Offline Track Map

An SVG track map with live car dots that needs no iRacing login and no internet — geometry for ~300 track configurations is bundled as JSON. The overlay reads the track name from the SDK and loads the matching file. Sources: the SIMRacingApps track library (Apache 2.0) and OpenStreetMap (ODbL).

localhost:5007 iracing_trackmap.py
Overlay On-camera livery overlay showing a 3D-rendered car and the driver name of whoever is currently on screen

Livery & Driver Name

A 3D-rendered car plus the driver name of whoever is currently on camera — the broadcast lower-third that ties the picture to the timing. Updates automatically as the director cuts between cars.

localhost:5006 iracing_livery.py
Data Race Logger live monitor: drivers table and an event timeline of laps, pit stops, flags and incidents

Race Logger

Writes one JSONL file per race — laps, pit stops, flags, penalties, incidents, positions and the final classification — and serves a full live race monitor: a drivers table plus an event timeline. Optional read-only public endpoints let Twitch/Discord viewers open a self-service view via a free Cloudflare Tunnel, with all admin endpoints staying local.

localhost:5009 iracing_race_logger.py
Data Live lap-time chart overlay plotting lap times for several drivers over the course of a race

Live Lap-Time Charts

The race logger renders lap-time, position and gap charts that drop into OBS as their own browser source — here, several drivers' lap times traced over a race at Imola. Perfect for a stat-break bumper or a picture-in-picture corner that shows the race developing, all from the same local data.

localhost:5009/chart/render live charts
Overlay Quali Delta overlay showing a driver's time delta to the session best with per-sector splits

Quali Delta

A big, readable delta to the session best for the car on camera, broken down per sector (green for time gained, red for time lost) with the pole and last-lap reference times. Made for qualifying tension — viewers see at a glance whether a hot lap is up or down on the benchmark.

localhost:5014 iracing_qualidelta.py
Overlay Driver of the Day overlay highlighting a driver with positions gained, recovery, overtakes and incidents, plus a runner-up list

Driver of the Day

An automatic post-race award card: it scores the field on positions gained, recovery from a low point, overtakes and incidents, then crowns a Driver of the Day with the headline stats and a short runner-up list. A ready-made talking point for the cool-down show — no manual number-crunching.

localhost:5013 iracing_dotd_overlay.py
Overlay Session info overlay showing the session name RACE with total and remaining time

Session Info

A compact, always-transparent bar showing the session name plus total and remaining time (or laps) — so viewers tuning in mid-stream instantly know whether it is practice, qualifying or the race, and how much is left to run.

localhost:5011 iracing_session_info.py
Overlay
A red LIVE badge with a recording dot A gold REPLAY badge with a dot

LIVE / REPLAY Indicator

A small, always-transparent badge that flips between a red LIVE and a gold REPLAY depending on what the iRacing replay system is doing — so the audience is never confused about whether they are watching the action live or a recap. Sits in a screen corner and runs by itself.

localhost:5004 iracing_live_indicator.py
Overlay
White flag overlay with a car-number nameplate reading FINAL LAP Checkered flag overlay with a car-number nameplate reading RACE WINNER

Flag Overlay

An always-transparent waving-flag graphic that tracks the session flag state — green, yellow, white and checkered. On the closing laps it pairs the white flag with a FINAL LAP nameplate for the leader, then the checkered with a RACE WINNER plate at the flag — an instant, broadcast-quality finish without touching a thing.

localhost:5008 flag_overlay.py
Launcher The iRacing Overlay Launcher desktop app listing every overlay with a status dot, Start/Stop buttons and Start All / Stop All controls

One-Click GUI Launcher

No terminal needed: a small desktop app with a status dot and Start/Stop per overlay, plus Start All / Stop All and a log pane. Self-healing OBS loader pages mean start order no longer matters — sources reconnect on their own after a restart. It even includes a Corner Cues driving aid (turn direction, severity and apex-speed estimates) for sessions where the racing line is disabled.

launch_gui.bat 15 components
How to install & add to OBS →