All projects
Flagship

ChatOBD2

AI-native automotive diagnostics interface

Focus
  • AI-native UX
  • System translation
  • Technical interaction design
ChatOBD2 marketing site hero — "Your car is talking. ChatOBD-2 translates." with phone mockup showing a live diagnostic chat on a 2010 Toyota Prius.

The premise

Most diagnostic tools assume the user already knows how to interpret them. They don’t.

That’s not a polish problem. It’s a translation problem.

Codes, freeze frames, partial explanations. The data is technically present, but the user is left to assemble it into an answer. The tool exposes complexity instead of resolving it.

That gap is the actual problem.

A different idea

ChatOBD2 is built around a different premise: diagnostics should explain themselves.

The interface is intentionally simple. The system behind it isn’t.

It pairs structured diagnostic inputs with layered interpretation and AI-assisted reasoning, and it constrains the output. Every scan returns the same shape: is it safe to drive, how confident is the answer, what matters most, what to do next.

This is where AI earns its keep. The model’s job is reducing complexity, not generating content.

Three decisions that shaped the product

The verdict comes first, before any text. When a scan finishes, the safe-to-drive answer is the first thing rendered, full-width and color-coded, ahead of every paragraph. The tradeoff is less narrative warmth, but anyone glancing at the screen has the answer they came for in under a second.

Confidence is part of the answer. A partial scan changes what the verdict means. Showing scan quality as a fixed bar instead of hiding it costs a small piece of optimism, but earns a much larger piece of trust. It’s the kind of decision a less-confident product wouldn’t make.

Prompts live in the system, not in components. When prompts get scattered across components, every copy change is a hunt across N files, and the analytics taxonomy quietly drifts behind it. Pulling them into one module, keyed by verdict tier and code context, means a single change updates the whole product, and the analytics stay coherent across it.

The shape of the system

Chat surface as the home screen. Verdict card as the unit of output. AI in the middle of the pipeline, constrained by structure on either side.

The interface stops asking the driver to interpret data and starts telling them what to do next.

Product surface

What a scan returns

9:41 connected · 2014 Civic
You

Run a scan. Anything I should worry about?

Safe to drive Monitor
Scan confidence Solid · 14 PIDs
Verdict

One pending code, no immediate action

P0420 (catalyst efficiency) is logged but not active. Drivetrain pulled clean across two cycles. Re-scan in 200 mi.

What matters most
  • P0420 Catalyst efficiency below threshold
  • 12 systems Healthy across drivetrain & emissions
System flow

Data becomes understanding

01 Vehicle data OBD codes · freeze frames · live PIDs
02 Interpretation Severity rules · context · history
03 AI reasoning Constrained outputs · verdict tier
04 Structured output Verdict card · next-best-action
Inputs are messy. The system constrains the output.
Marketing surface

Same premise, different format.

The marketing site carries the same product premise into a public-facing surface. Same "verdict comes first" instinct, same constraint thinking. Designed and built end to end with Claude Design and Claude Code.

ChatOBD2 marketing site — The only OBD app that learns your car over time. Vehicle health score and trend dashboard.
The trend view treats ownership as a film, not a snapshot. A single scan is a photograph; a car's health is a story.
ChatOBD2 pricing page — Free, Pro $9.99/mo, Elite $19.99/mo with feature lists.
Three tiers explained as product, not commerce. The struck-through lines on Free make the upgrade story literal instead of implied.
Under the hood

The dev surface gets the same care as the product.

ChatOBD2 has grown into a substantial codebase. Six deterministic reasoning layers in front of every model call, an AI prompt assembled by priority from a 38,000-token budget, BLE adapter integration, write operations with rollback. Holding that together is the actual job.

ChatOBD2 context budget UI — 38,000 tokens assembled by priority across module sections like Vehicle identity, Behavioral rules, Diagnostic report, etc.
The AI prompt is composed dynamically per scan. P0 sections always make the cut; P5 sections only land if budget remains. The same logic that constrains the model also makes the system inspectable.
ChatOBD2 developer portal — Under the Hood docs covering Quick Start, System Diagrams, Project Structure, Intelligence Engine, OBD Reference, Design System, Auth, Subscriptions, Edge Function, Mobile Design System.
Architecture diagrams, an annotated project structure, a system-diagrams library, a code-standards doc. The portal is treated as a designed surface, not a wiki.

Claude Code maintains the developer portal continuously as the codebase moves. Module ownership stays current. System diagrams regenerate when contracts change. Dev UX is held as a product-quality bar, not an afterthought. The aim is simple: anyone landing in the repo can find the thing they need without reading it through.