Systems · 2025 – now

An operating system for working with AI agents

Over the last year I rebuilt how I work around coding agents — Cursor, Codex, Claude Code, and Antigravity. Not prompts: a repeatable workspace methodology, custom skills and MCP servers, and voice-driven workflows that let a designer ship native software.

Runtimes
Cursor · Codex · Claude Code · Antigravity
Method
ICM workspaces: routers, stage contracts, reviewable output
Shipped
Rust/Tauri app · Swift macOS & iOS apps · Canva app · MCP servers
Scale
1,100+ agent sessions in 2026
To add: a diagram of an ICM workspace (AGENTS.md → CONTEXT.md → stages → output), a screen recording of a voice-driven session, and a screenshot of the Redactor app or Top10k.
ICM workspace diagram
assets/img/ai-systems-hero.png

Why

For most of my career, “designer” meant I stopped at the handoff. In 2025 that stopped being true. With agents doing the typing, the bottleneck moved to the thing designers are good at: defining the problem precisely, structuring the work, and judging the result. So I treated my own workflow as a product.

The ICM method

ICM is the workspace methodology I use for every agent project. It treats a repo like a physical production shop:

  • AGENTS.md is the front-door sign — what shop did you just walk into.
  • CONTEXT.md is the reception desk — it routes a request to the right workbench.
  • Each stage is a workbench with a small contract: allowed inputs, process, outputs, and checks.
  • references/ is the rule binder; processes/ are SOPs; scripts are machines the agent invokes rather than improvises.
  • output/ is the finished tray — humans review it before the next stage trusts it. Every job carries a durable run.json.

Core rules: load only the context for the current bench; write durable files, not chat conclusions; verify before handoff; when the same correction repeats, edit the source (contract, reference, or script) instead of the output; keep contracts small. It’s what lets a long pipeline run across many sessions and models without the context degrading.

“Editing one output fixes one run; editing the source improves future runs.”

What it has shipped

  • ConvertSave — Tauri 2 / Rust / React desktop app; 398 commits; cross-platform CI; parallel Claude Code worktrees for features.
  • ConvertSave for iPhone — 100% native Swift/SwiftUI media converter (AVFoundation, ImageIO, PDFKit, CoreImage), zero third-party dependencies, sharing the Nocturne design tokens with desktop.
  • Screen Studio Redactor — native macOS SwiftUI/AppKit app plus CLI that finds and masks PII in tutorial recordings (Vision, Core Image/Metal, SQLite; non-destructive projects). Paired with a 265-job Antigravity computer-vision swarm that inspected video keyframes before anything went to YouTube.
  • Linked Designs — a Canva App bringing Photoshop-style Smart Objects to Canva (Canva Apps SDK + Connect API, OAuth 2.0 PKCE, Node/TypeScript).
  • YouTube operations — watch-folder auto-uploader with metadata rules, SEO dashboards, a competitor-velocity warehouse (Top10k), a thumbnail pipeline with tightly constrained copy rules, and a Remotion B-roll generator.
  • Studio hardware tooling — Swift/AVFoundation utilities for zero-latency iPhone mirroring in device frames, camera pixel-format fixes, and headless control of Screen Studio through Chrome DevTools Protocol.

Voice & ambient workflows

A lot of my agent work happens by voice. A custom skill (top10k-voice) lets me review competitor videos and curate production queues hands-free. A Discord voice bridge runs an agent against a workspace and reads results back at 1.25× so I can supervise from the studio floor. Dictation (Wispr Flow, superwhisper) is the default input for prompts and PR descriptions.

Tooling I’ve built for agents

  • Figma MCP server
  • Top10k MCP + CLI
  • Mangools / VidIQ MCP
  • screenstudio-cli (CDP)
  • youtube-auto-uploader skill
  • convertsave-paper-design skill
  • ios-simulator / xcodebuild skills
  • Thumbnail Agent v6.2 rules
  • ICM templates & conventions

Everything above runs on my own machines and pipelines; where a tool is public (ConvertSave, Linked Designs) it’s linked from the work page.

Contact

Want to work together? Say hello.

Open to senior product design roles, founding-designer conversations, and select collaborations.