Daeseon Yoo

Active · May 26, 2026

ScreenBridge

A macOS desktop tool that translates abstract AI instructions ('open VS Code, edit X') into concrete pointer actions on your actual screen — via ScreenCaptureKit + Accessibility APIs + a vision LLM.

5,808 LOC · Swift 6 strict concurrency · AX + OCR + vision fusion

Role
Solo
Stack
Swift 6.3 · SwiftUI + AppKit · ScreenCaptureKit · AXUIElement · Vision OCR · Anthropic Claude Sonnet 4.6 (vision) · Gemini 2.5 Flash

LLM agents give abstract instructions ("open VS Code, click the file tree, find the test file…"). On a real screen, those map to specific coordinates: where exactly is the file tree right now? ScreenBridge is the layer in between — it watches your actual screen, understands the abstract instruction, and produces the concrete action to take.

What it does

Why native, not Tauri

The first attempt was Tauri. Three weeks in, the limits surfaced: ScreenCaptureKit integration is awkward through Tauri's IPC; AXUIElement needs deep AppKit interop that fights the Rust/Tauri boundary; macOS HUDs have native behaviors that don't translate to webview-rendered surfaces. Swapped to native Swift in commit 2026-05-27-tauri-to-swift-swap — the Tauri attempt is archived on the tauri-archive branch + v0.1-tauri-attempt tag for the record.

The lesson is in content/logs/jarvis-pc/2026-05-27-tauri-to-swift-swap.mdx — it's a tech-retro on when "cross-platform first" stops being a virtue.

What's not in it (yet)

Status

Phase 0.2 — Swift menu-bar shell working, ScreenCaptureKit + AXUIElement wired, vision dispatcher benchmarked. Next: a real agent integration to validate the end-to-end loop, then signing + distribution.

Project log

Chronological record of troubleshooting, retros, and updates while building this.

4 logged· Judgment layer 1 Decision
Last update: May 31, 2026Architecture overview ↓