i99dash docs

i99dash for developers

Build mini-apps that run on i99dash car head-units. From zero to published in five minutes.

i99dash hosts third-party mini-apps on a car head-unit. A mini-app is a plain HTML / JS / CSS bundle the host loads inside a sandboxed web view. It reads context (active user, current car, locale, theme) through a typed JS bridge — getContext() — and reaches external HTTPS APIs with plain fetch(), gated by the origins it declares in manifest.network.

Should I build a mini-app?

Yes if you want to:

  • Show information to drivers (fuel prices, weather, EV charging stations, parking lots) — these are read-only mini-apps, public catalog.
  • Build a privileged tool (diagnostics, log tailing, package management) for fleet operators or your own team — these are i99dash mini-apps, restricted distribution.

No if you want to:

  • Control the car (lock doors, set AC, drive). The SDK is read-only by construction. There is no client.car.lockDoors().
  • Build a native Android head-unit app — a separately-installed APK that launches full-screen. Mini-apps are HTML/JS; native apps are a separate, invite-only track. See Native apps.

Start here

Reference, when you need it

What's new

  • Native apps — invited developers can now publish native Android APKs that install on cars as standalone child apps, beyond WebView mini-apps: i99dash apk init / validate / publish / promote, a 3-key signing chain, auto-extracted icon + label, and staged rollout. Native apps.
  • i99dash/react v0.1.0 — official React bindings: one provider, one hook per family (useMiniAppContext, useCarStatus, useMedia, useClimate, useLocation, useNavigation, useSystem, useConnectivity). SSR-safe via createClientOrSSR(). Next.js setup.
  • Bundle-relative asset paths + closed-enum categoriesbreaking. manifest.icon is now a ./ path inside the bundle (the publish flow rewrites it to a versioned CDN URL); manifest.category must be one of 10 canonical slugs. Existing apps: re-run pnpm dlx i99dash init for the new shape, or follow the migration notes.
  • i99dash beta status — see your beta cohort, invitee count, and rollout state from the CLI. Beta testing.

Working with AI agents

The site exposes /llms-full.txt (every page as plain markdown) and an MCP server at /api/mcp with tools search_docs, get_doc, list_packages, list_symbols. Add it to Claude Code:

claude mcp add --transport http i99dash-docs https://docs.i99dash.app/api/mcp

On this page