Imersa, open
Device identity, normalized capabilities, rooms, scenes, connector isolation, deterministic plans, execution results, permissions, and audit history.
Open source / local orchestration
A local foundation for connected devices, rooms, deterministic scenes, and automation whose decisions can be inspected before they run.
The premise
Connected devices expose incompatible identities, capabilities, state shapes, commands, and failure modes. Imersa gives product experiences one stable model while preserving what each device can actually do.
Execution is deliberately two phase. A caller first receives an inspectable plan based on current state and permissions. The stored plan runs only with the required scopes, an idempotency key, and explicit confirmation for consequential actions.
Product boundary
Imersa publishes the reusable local orchestration contract. Flow HiFi and Flow Music integrate with it without exposing their product-specific implementation.
Device identity, normalized capabilities, rooms, scenes, connector isolation, deterministic plans, execution results, permissions, and audit history.
Product experience, media logic, commercial integrations, accounts, analytics, hardware tuning, and other proprietary product work.
A versioned local API and TypeScript library let private applications use Imersa without merging their source or ownership boundaries.
Independent rebuild
An earlier experiment grew from a third-party bridge fork. That was the wrong technical and licensing foundation for the product Imersa had become.
I preserved that lineage as an archived legacy fork, then created a new repository with an independent history, explicit provenance rules, and no imported predecessor source.
Foundation 0.1.0
Devices, capabilities, rooms, scenes, principals, risks, and commands validate at the runtime boundary.
Plans capture current revisions, blocked resources, required scopes, risk, and confirmation before any connector writes.
Idempotent runs report success or failure for every step and expose partial outcomes instead of hiding them.
A local authenticated HTTP server exposes versioned health, device, scene, planning, execution, and audit routes.
const plan = runtime.scenes.plan("evening", principal);
const result = await runtime.scenes.execute(plan.id, principal, {
confirmed: true,
idempotencyKey: "evening-2026-07-29",
});
Current limits
The core does not yet include production hardware adapters, persistent storage, encrypted connector credentials, or a production identity provider. The controller image on this page is interface direction, not evidence that those integrations have shipped.
The next work is to harden storage and identity, publish the first connector specification, and validate adapters against owned equipment without weakening the clean-source boundary.