A Windows desktop overlay for iRacing that shows a real-time proximity radar and spotter side bars (left/right), similar to iOverlay or benofficial2 spotter overlay. Built with Electron, React, and TypeScript.
- Download — Open the Releases page and download the latest Windows installer (
.exe) from the latest release. - Install — Run the installer and follow the prompts.
- Use — Start “iRacing Radar Overlay” from the Start menu. Set iRacing to borderless windowed so the overlay can sit on top. Use F9 to show/hide or switch to resize mode; F8 to open settings.
Want the very latest (unreleased) build? Go to the Actions tab, click the top (latest) workflow run, scroll to Artifacts, and download iRacing-Radar-Overlay-Windows.
- Proximity radar — Top-down 2D radar with player at center, nearby cars color-coded by distance (red/amber/gray), track edges, grid rings, danger zone. When a track layout exists for the current circuit (e.g. Charlotte in mock), the radar shows the circuit shape at scale.
- Side spotter bars — Left and right vertical bars showing where other cars overlap your car (front-to-rear); fill moves as cars overtake
- Settings panel — Slide-out drawer: radar zoom/size/track width, side bar size, car size/color, proximity audio, export/import JSON
- Proximity audio — Optional beeps with stereo panning (left/right) and intensity by distance (Howler.js)
- Persistence — All settings saved with electron-store; export/import as JSON
- Windows (iRacing shared memory is Windows-only)
- iRacing in borderless windowed mode for the overlay to sit on top
- Node.js 18+ only if you build from source (not needed if you use the installer above)
npm install
npm run build
npm startTo create a new release so others can download the installer from the Releases page: create a version tag and push it (e.g. git tag v1.0.0 then git push origin v1.0.0). GitHub Actions will build the Windows installer and attach it to the release.
For development (hot reload):
npm run devYou can put this project on GitHub and use it from any PC.
- Create a repo on GitHub (github.com → New repository). Don’t add a README if this folder already has one.
- On this PC, in the project folder:
git init git add . git commit -m "Initial commit: iRacing radar overlay" git branch -M main git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO.git git push -u origin main
- On the other PC (or anyone else):
To build an installer there:
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git cd YOUR_REPO npm install npm run build npm startnpm run distand use the.exeinrelease/.
The .gitignore already excludes node_modules/, dist/, and release/ so they aren’t pushed to GitHub.
-
Build and run the overlay
npm run buildthennpm start, or from Manager: open the app and enable "Proximity Radar".
-
Set iRacing to borderless windowed
- iRacing → Options → Graphics → set Window mode to Borderless (or windowed). The overlay must run over a windowed game to stay on top.
-
Optional: full car list
- In iRacing Graphics, set Max cars to 63 so telemetry includes all cars.
-
Position the overlay
- Drag the top edge to move; use the bottom-right corner to resize (easiest in Resize mode — see shortcuts). Use F9 to cycle Normal → Off → Resize; F10 to toggle click-through when visible.
-
Live vs mock data
- If you see "○ iRacing disconnected", the overlay is using mock data (moving dots for testing). The radar and UI still work.
- For live positions from iRacing, install the native SDK:
npm install node-irsdk(requires Visual Studio Build Tools). After a successful install and restart, with iRacing running you should see "● iRacing connected" and real car positions.
- F8 — Open overlay settings (use when overlay is click-through so the gear icon can’t be clicked)
- F9 — Cycle overlay: Normal → Off → Resize (move/resize in Resize mode)
- F10 — Toggle click-through when visible
- Position — Drag top edge to move; bottom-right corner to resize (easier in Resize mode)
- Settings — Gear icon next to radar (clickable in Resize mode), or tray → Open Manager
- Tray — Right-click for Open Manager, Show Overlay, Quit
src/
main/ # Electron main process
main.ts # Window, tray, shortcuts, IPC
preload.ts # contextBridge for renderer
irsdk.ts # Telemetry polling (mock or node-irsdk)
store.ts # electron-store settings
renderer/ # React UI (Vite)
App.tsx
components/ # Radar, SideBar, SettingsPanel, Widget
hooks/ # useTelemetry, useSettings
lib/ # overlap, radarMath, audio
shared/ # Types and constants (main + renderer)
constants.ts, settings.ts, telemetry.ts
Out of the box the app runs with mock telemetry so you can use the UI without iRacing. To connect to live iRacing:
-
Install the native SDK (optional; requires build tools):
npm install node-irsdk
Note:
node-irsdkuses native bindings and may need Visual Studio Build Tools and a compatible Node version (e.g. Node 18). If install fails, the overlay still runs with mock data. -
Run iRacing in borderless windowed mode.
-
In iRacing graphics options, set max cars to 63 for full telemetry.
When connected, the status line shows “● iRacing connected”. When not, it shows “○ iRacing disconnected”.
Add these files for beep warnings (optional):
public/sounds/beep-low.mp3— far threatpublic/sounds/beep-mid.mp3— close threatpublic/sounds/beep-high.mp3— danger
If missing, the app works normally but no sound plays. You can generate short tones in Audacity.
npm run build
npm run distOutput is in release/. The installer is Windows-only.
You have two options.
- On this PC (where you have the project):
npm run build npm run dist
- In the project folder, open the
release/folder. You’ll see:iRacing Radar Overlay Setup 1.0.0.exe(or similar) — Windows installer
- Copy that installer to the other PC (USB drive, cloud, network share).
- On the other PC: Run the installer, then start “iRacing Radar Overlay” from the Start menu or desktop. No Node.js or npm needed.
Use this if the other PC already has Node.js 18+.
- Copy the whole project folder (e.g. Overlay iRacing) to the other PC.
- On the other PC:
cd "Overlay iRacing" npm install npm run build npm start
- Optional: for live iRacing data, install the SDK there too:
npm install node-irsdk(requires build tools if you use it).
Both PCs: Use iRacing in borderless windowed mode so the overlay can sit on top. Settings (position, size, radar options) are stored per PC in the app data folder.
MIT.