Skip to content

eApps

Ask for an app. It runs on every screen.
Hours on the web: a month of hours as a bar chart and a table
Hours on a phone: one row per day and a Log hours button

One package of data

hours.app.json
{
"formatVersion": 3,
"id": "acme.hours",
"name": "Hours",
"records": {
"entry": { "schema": { "date": "date", "hours": "number" } }
},
"templates": {
"month": { "components": [ Chart, Table, … ],
"bindings": [{ "path": "/entries", "source": "records:entry?mine=1" }] }
},
"functions": ["records.*"],
"exposes": [{ "name": "log_hours", … }]
}
manifest
templates
bindings
records
functions
exposes
upstreams

The same package on every platform

app on Web
app on iOS
app on Android

Run by the host and the server

Client host
Server broker

Data in, tools out

Records
Upstreams
Your app
Your team
MCP tools
An admin console over Stripe, GitHub and Home Assistant, each member connected with their own account

Your agents use it too

Claude Code asks to use the team's apps: Off, Read only or Full per app, and the upstreams each needs

Describe it, an agent builds it

A new app's editor: the chat with the agent beside the live preview