Give your AI agent a native mobile app.
Write no app code. You already built the agent; Parlane is its iPhone front-end (Android next). Serve plain JSON over MCP (or a small REST contract), and it renders native chat, voice, dashboards, and push. No SDK, no webviews, no mobile project to maintain.

How it works
You serve the data; Parlane draws the app. Nothing is downloaded and executed: dashboards are declarative components from a fixed native catalog, which is what keeps the App Store posture clean.
Dashboards are declarative JSON, not code. Each component is a small object; Parlane draws it from a fixed native catalog. Long-press any component in the app to see the exact JSON behind it.
{ "type": "metric", "props": { "label": "Battery", "value": "87%", "delta": "+5%", "intent": "good" } }

Surfaces you can declare
Declare only what you serve; Parlane hides the rest. Each surface is a small, documented contract.
| Surface | Contract | What the user gets |
|---|---|---|
| Chat | POST /chat · SSE | Streaming markdown, tool-activity, attachments. Voice rides on it with on-device speech. |
| Dashboards | GET /ui/{id} | A component tree from 17 native types: metrics, charts, toggles, sliders, tables, maps. Free to view, interactive on Pro. |
| Actions | POST /action | Interactive components invoke a tool and get a replacement UI document back. |
| Push | relay · /notify | Server-triggered notifications through the optional, open-source relay. Visible previews pass through the relay and Apple. |
| Shortcuts & Share | manifest | Siri/App Shortcuts and the iOS share sheet, declared as phrases and an ingest tool. |
Make your app Parlane-ready
Paste this into your coding agent. It wires the endpoints and checks its own work against the hosted JSON Schemas.
Make my app Parlane-ready.
Parlane renders my backend natively (chat, voice, dashboards,
push) from plain JSON I serve. There is no SDK.
1. Serve a manifest at /.well-known/parlane.json (or MCP
resource "parlane://manifest"). Declare only the surfaces
I support; validate against spec/manifest.schema.json.
2. If I don't speak MCP, add REST: POST /chat (SSE: delta /
tool / done / error), GET /ui/{id}, POST /action.
3. Require Authorization: Bearer <token> on every request.
Follow the schemas in spec/ exactly; test against
spec/examples/.- parlane.ai/spec/*.schema.json
JSON Schema, draft 2020-12. The contract wins when prose disagrees. - parlane.ai/llms-full.txt
The entire integration kit in one fetch, for your agent. - Demo Agent
A runnable reference backend, bundled in the app. Offline, zero setup.
Serve the JSON. Get the native app for free.
Download Parlane and open the bundled Demo Agent to watch a manifest become a native app before you write a line.