T.A.R.S — Voice-Driven AI Vehicle Diagnostics
A hands-free AI co-pilot for automotive diagnostics: a realtime voice agent reads a vehicle over OBD-II / CAN / UDS, narrates findings, and drives live diagnostics on screen.
- OpenAI Realtime API
- Agents SDK
- TypeScript
- Next.js
- Electron
- Python
- Three.js
- OBD-II / CAN / UDS
- WebRTC

Demo
Overview
A technician talks to T.A.R.S in plain language — "pull the codes," "watch the Bank 2 oxygen sensor," "map the modules on this truck" — and a realtime voice agent reads the vehicle's data over OBD-II / CAN / UDS, narrates findings, drives live charts and diagnostic walkthroughs on screen, and helps work the problem from complaint to repair.
It runs as a Next.js web app, a cross-platform Electron desktop app that owns the real hardware I/O, and an Expo mobile app for Bluetooth adapters in the field — pairing OpenAI's Realtime API (speech-to-speech with tool calling) with a full OBD-II / CAN / UDS hardware stack and a Python CAN sidecar for raw bus capture and signal decoding.
Technical breakthroughs
One agent, many transports: a UnifiedOBD2Service presents a single diagnostic API while the actual I/O is Web Bluetooth in the browser, a serial/BLE/TCP bridge in Electron, or a native CAN sidecar. Around 150 typed tools (Zod) let a speech-to-speech model issue OBD-II / UDS / CAN commands mid-conversation, with concurrency control that serializes a single-threaded link into prioritized lanes so DTC scans, UDS operations, and PID streaming never collide.
Pro-grade diagnostics on a $5 ELM327: much of the automotive community treats cheap ELM327 clones as basic-only, but a custom communication layer — request pacing, flow control, ISO-TP multi-frame reassembly, and buffer management — turns a $5 Bluetooth adapter into an interface that streams 65+ PIDs and runs extended diagnostic services, tasks usually reserved for scan tools costing hundreds or thousands.