Independent project Private alpha
Spatial
A shared canvas that keeps the context of software work in view.
I built Spatial to keep a project's reasoning beside the tools used to change it. Notes and visual models share a workspace with terminals, repository views and coding agents, so a new session can begin with the work already in place.

Why I built it
Development context spreads across terminals, diagrams and conversations. Returning to a problem often means reconstructing the reason behind a decision before doing the next piece of work.
I wanted that context to have a persistent place. In Spatial, related material stays together, and both a person and an agent can refer to the same objects.
From a question to a reviewed change
For example: moving slow work out of an API request without losing accepted jobs.
Frame the problem
Write the constraint and sketch the service boundary. Keep the open question beside the diagram: what should happen when a worker restarts?
Work beside the context
Open a terminal and the repository alongside the brief. Give an agent a bounded task with references to the relevant canvas objects.
Keep the result for review
Record the decision, attach the verification evidence and leave the next question where the work happened. The next session can pick up from that state.
How the pieces fit
The browser presents the workspace. The server owns durable state and access to working tools.
Design choices
- Addressable context
- Canvases and their objects have stable addresses. An agent can target a specific piece of work, and a person can return to the same view.
- Explicit outcomes
- Long-running actions have receipts and work records. A requested action, a completed process and a verified result are separate states.
- Keep tools recognizable
- Terminals remain shell sessions; visual models retain structured data. The canvas connects these tools with the reasoning around them.
Availability
Spatial is a privately operated alpha that I use for my own projects. There is no public sign-up or hosted demo.
It currently assumes a single trusted operator. Terminal and agent access is privileged; it is not a sandbox for untrusted users. The interaction model and portability are still being refined.