Case file 04 · Open source
DEVELOPER OS
A local-first control plane for planning, running, validating and reviewing agent-assisted development.
- Swift
- SwiftUI
- Kotlin
- Jetpack Compose
- SQLite
- Git worktrees
The challenge
Agent-assisted coding can execute quickly, but coordination, isolation, validation and human review are still scattered across terminals and memory. The experiment asks what a trustworthy local operating layer for that work should look like.

The approach
Developer OS uses a native SwiftUI control plane on macOS and a Kotlin companion on Android. A modular monolith coordinates projects, tasks, worktrees, agent providers, validation, review and cleanup while SQLite, Keychain and explicit permissions keep control on the machine.
Key decisions
- Keep metadata in SQLite and code, logs and artifacts in the filesystem so the system remains local-first.
- Isolate every execution in a Git worktree and separate agent output from independent validation.
- Make approval and merge different actions, with audit history and safe cleanup around both.
Technical architecture
Full-stack architecture designed and built end to end by me.
- 01 Native interfaces SwiftUI · Compose
Mission control on macOS with an Android companion.
- 02 Orchestration core Modular monolith
Projects, tasks, providers, approvals and lifecycle rules.
- 03 Local persistence SQLite · Filesystem · Keychain
Metadata, artifacts and credentials remain on the machine.
- 04 Execution and review Agents · Git worktrees
Isolated runs, independent validation, diff review and cleanup.
Modules
What the product is made of, as its own screens divide it.
- 01 Projects & tasks
Local projects, their tasks and the specs behind them.
- 02 Executions in worktrees
Every task execution isolated in its own Git worktree.
- 03 Agent providers
Agents behind a provider-independent protocol.
- 04 Validation & review
Checks that do not trust the agent’s own account of its work.
- 05 Approval & merge
Two distinct actions, then cleanup of the worktree.
- 06 Local-first security
Keychain, audit trail, explicit permissions and a kill switch.
- 07 Android companion
A Kotlin and Jetpack Compose app after the core MVP.
Before → after
- Before
Agent work scattered across terminals.
AfterOne visible task and execution lifecycle.
- Before
Changes sharing the active checkout.
AfterEvery run isolated in a Git worktree.
- Before
Output accepted without a separate gate.
AfterValidation, review and merge are explicit stages.
Technologies
- Swift
- SwiftUI
- Kotlin
- Jetpack Compose
- SQLite
- Git worktrees
The wider toolkit
- Xcode
- macOS
- Android
- Android Studio
- Keychain
Brand marks from Simple Icons; concepts without one are drawn in-house.
Project log
Aug 2026 → Sep 2026 · 2 active months
- developer-os native · 114 commits Aug 2026 → Sep 2026
In the tree
- 105 test files
- 350 native source files
- 423 tracked files
Read from the local Git history on Oct 6, 2026. Aggregates only.
The outcome
The Core MVP exercises the full path from task creation to a real diff, independent validation, human review, merge and cleanup. The repository snapshot contains 114 commits, two native applications and 105 Swift and Kotlin test files documenting the behavior built so far.
Private codebase — this file shares the thinking, not the source.
