OpenIslands
Dashboards an agent can maintain for months, without them rotting.
OpenIslands is a local-first runtime for agent-maintained data apps. You bind typed islands to your own files in a manifest, and never touch rendering code.
the whole idea
Your agent writes the manifest. The runtime renders the island.
{
"type": "metric.kpi",
"title": "Net worth",
"dataset": "net_worth",
"value": "net_worth_eur",
"compareTo": "prev",
"format": "eur"
}That tile is the runtime's own renderer, drawn right here from the data the manifest points at. Not a screenshot.
why it holds up
Built so an agent can't quietly break it.
Declarative
A dashboard is a JSON manifest of islands bound to datasets. There's no rendering code to maintain: you describe what you want, the runtime draws it.
Typed and safe
Every binding is checked against your live data. Point an island at a field that doesn't exist and the build fails and names the island. You never get a silently wrong chart.
Local-first
Your files are the source of truth. The runtime queries them on every request, so there are no snapshots to drift out of date.
Agent-native
A CLI and an MCP server give an agent a diffed, reversible way to edit the app, so it can keep your dashboard healthy for months.
the safe edit loop
An agent edits the manifest, not your rendering code.
The MCP server is read-many, write-one. Every change runs the same path, and every write is reversible, so an agent can maintain the app without ever leaving it broken.
- read
Pull the manifest, the island schemas, and a slice of the live data.
- propose
Submit a full-manifest edit; it's validated against the data before a byte is written.
- diff
See exactly what changes. Nothing is written yet.
- apply
Write it, and snapshot the prior version as a checkpoint.
- rollback
Restore any checkpoint, byte for byte, if something looks off.