Studio OS
A two-mode AI-native command center for personal focus and product operations
What this proves
I can design an AI-native system around context boundaries, evidence quality, privacy modes, degraded behavior, and human authority - not just add an AI prompt to a dashboard.
Problem
Personal and product work is spread across daily notes, project repositories, GitHub queues, and changing priorities. A useful operating system must bring that context together without giving an agent unlimited filesystem access, leaking private state into a public demo, or silently taking consequential actions.
My role
I designed the product model, visual system, local-first state layer, private context adapters, GitHub organization queue, agent safety boundaries, and deterministic verification workflow.
What I built
- — A digital-room dashboard with zones for focus, study, building, reset, archives, and long-term direction.
- — A defensive local-first state layer with safe parsing, SSR guards, namespaced keys, and normalised defaults.
- — Bounded server-side workspace readers for registered project metadata, documentation, package scripts, and Git state.
- — A read-only GitHub organization queue for pull requests awaiting review, unassigned issues, and stale branches.
- — A workspace brain that converts evidence into prioritized attention signals and guarded mission candidates.
- — A shared Command Center with human and agent creation modes, evidence-backed lanes, risk signals, review outcomes, and portable handoffs.
- — A public-demo hard guard plus repository, credential-shape, source-map, and build-output privacy checks.
Architecture
Studio OS has two deliberate modes rather than one backendless architecture. In the public demo, a neutral persona and namespaced localStorage provide the interactive experience while live connectors are disabled, private workspace routes fail closed, and synthetic data is labeled. In the private operator, Next.js server routes retrieve bounded evidence from registered local workspaces and a read-only GitHub organization adapter. A shared Command Center routes that evidence through human and agent lanes with explicit review, blocked, and accepted states. Merges, deployments, database changes, security actions, trading actions, and other consequential operations remain human decisions. Missing paths, credentials, or external responses degrade to explicit fallback states rather than invented live data.
A warm digital-room interface backed by defensive browser persistence and a small set of server-only context adapters. The private operator retrieves only the workspace and organization evidence needed for attention planning, while the public demo uses neutral content and synthetic connector results. A repository verifier, dependency audit, lint, strict typecheck, production build, source-map removal, and output privacy scan run as one check.
Backend / deployment
- Status
- Deployed
- Frontend
- Next.js 16 App Router + React 19; public demo on Vercel
- Backend
- Next.js server routes for bounded workspace context, read-only GitHub organization evidence, and guarded mission briefs
- Database
- No hosted database; browser state remains in namespaced localStorage
- Hosting
- Vercel for the public demo; owner-controlled environment for private operator mode
Public demo on Vercel with neutral local state and synthetic connectors; private operator capabilities stay in owner-controlled source and require server-side access.
Backend-adjacent proof
- — Server-only workspace readers use registered roots, shallow inspection, timeouts, and explicit exclusions for secrets, dependencies, caches, and generated output.
- — The GitHub adapter uses a read-only GraphQL query, a five-minute cache, and labeled synthetic fallback data when credentials or external responses are unavailable.
- — Public demo mode returns before GitHub token resolution, and each of six private workspace routes returns PRIVATE_OPERATOR_ONLY before parsing input or invoking operator logic.
- — The public Command Center skips private workspace-map retrieval and disables delegation and safe-check execution at the UI boundary.
- — Mission candidates carry context, proof targets, risk gates, and explicit human-only actions instead of executing consequential work automatically.
Stack
Constraints
- — The public demo must stay neutral, credential-free, and unable to activate live GitHub access
- — Private workspace readers must remain allowlisted, bounded, shallow, and read-only by default
- — Missing connectors must be labeled as demo or degraded rather than presented as live data
- — External writes and high-impact actions must remain behind explicit human approval
Tradeoffs
- — Kept personal state in localStorage for immediate, private daily use, accepting no built-in cross-device synchronization.
- — Used bounded filesystem and Git adapters instead of indexing every file, trading completeness for privacy, speed, and explainability.
- — Used a read-only GitHub connector and synthetic fallbacks before adding any write capability.
- — Maintained one codebase with explicit public/private modes, which requires deterministic checks to prevent the modes from drifting.
What It Demonstrates
- The current private operator verification passes dependency audit with zero vulnerabilities, ESLint, strict TypeScript, and a Next.js demo build that generates 28 static pages.
- The declared-marker privacy scan passed across 722 text build artifacts after JavaScript source maps were removed.
- Runtime boundary checks passed for six guarded private workspace routes: every route returned HTTP 403, PRIVATE_OPERATOR_ONLY, and private, no-store in public demo mode.
- A 390x844 production-demo audit returned HTTP 200 with no root overflow, no effective target below 44px, and no console, page, request, or error-response failures.
What I learned
- — AI-native architecture starts with authority and context boundaries, not model selection.
- — Fallback data must be labeled honestly or it becomes a product correctness problem.
- — Build-time privacy claims need an explicit marker set and output evidence, not assumptions about tree-shaking.
- — Read-only retrieval and human gates are useful product features when a system touches private work.
- — A calm interface can still expose serious engineering evidence without becoming a dense operations dashboard.
Next backend step
Add authentication and authorization before any hosted private-operator deployment, then test connector failure modes with redacted fixtures. Keep live GitHub access disabled in the public demo and add write capabilities only when each action has an explicit approval and audit design.
Visual archive

The home room - a calm visual layer for focus, study, building, and recovery

The daily focus view on a phone - small, honest proof for the day

A calm reset corner - a short sequence to refocus when the day gets messy

The long-term horizon - the reason behind the daily work
Working on something similar?
Let's talk →