Featured project / Workbench
People stay in charge.
A household and project organizer that gives ideas, decisions, tasks, materials, and agent contributions a durable place to live.
Last reviewed
On this page
The problem
A conversation can contain an idea, a decision, a shopping requirement, and three follow-up tasks. A flat checklist loses those distinctions. Adding AI assistance creates another problem: a plausible suggestion should not quietly become the authoritative project record.
I built Workbench to connect the work while keeping human review explicit. Projects and tickets provide context; tasks, decisions, notes, and materials preserve their own meaning.
Agent collaboration with a review boundary
Agents can propose structured work through MCP. Agent Mail gives people an editable review surface before those proposals become canonical records. Related proposals can be reviewed together, rather than arriving as disconnected fragments.
flowchart TD accTitle: Workbench proposal review boundary accDescr: An agent submits a proposal to Agent Mail. A person reviews and edits it, then approves it before it becomes a canonical record. Agent["Agent / MCP client"] --> Proposal["Structured proposal"] Proposal --> Mail["Agent Mail"] Mail --> Review["Human review and edits"] Review -->|Approve| Records["Canonical project records"]
The distinction matters: generating text and changing shared state are different responsibilities. Versioned changes also give the system a way to detect when the state being reviewed has moved on.
Application and identity design
The application uses Next.js, React, TypeScript, SQLite, and Better Auth. In the household deployment, Account Desk is the credential authority. Provisioning goes through a dedicated internal route, while the public edge rejects that internal API path.
MCP access uses a separate stdio path rather than a publicly exposed web endpoint. Browser authentication, account provisioning, and agent connectivity each have an explicit integration boundary.
Running it
- A dedicated Docker Compose application joins the shared edge network without publishing a direct host port.
- A database-backed health endpoint checks more than whether an HTTP process is listening.
- SQLite backups use the online-backup API and integrity checks, rather than copying only the main database file during WAL activity.
- Source and deployed revision markers make it possible to tell what is actually running.
The tradeoff
Review adds a step. That is intentional: household and project records need to remain understandable and attributable. The aim is to make a useful proposal easy to approve, while keeping its scope visible.
SQLite keeps this deployment compact and easy to operate. It also makes correct backup handling important; a simple stack does not remove the need for consistency checks.
Current state
Workbench is deployed for account-holding users. The source continues to move ahead of production; a merged fix is not treated as deployed until the release is verified. The application also integrates into Hearth for household use.
Open Workbench · Account required. For a walkthrough of the engineering, contact me.