browser-os
Browser-native desktop shell — generic OS chrome that windows-web-next and macos-web-next inherit from.
Problem
The windows-web-next and macos-web-next simulations share a lot of plumbing: window manager, virtual filesystem, app lifecycle, taskbar/menu chrome. Re-implementing each per-OS is wasteful and drifts the two apart.
Solution
A generic browser-native desktop shell that the OS-specific simulators reuse. Same window management, same app surface, same agent affordances — just different chrome and default apps.
How
- Stack: TypeScript / Svelte, deployed on Vercel.
- Deployed at: desktop-shell.vercel.app.
Results
Foundation layer for the controllable-desktop family. Both windows-web-next and macos-web-next pull from this shell.
Lessons
Splitting the chrome from the shell makes new "OS" simulators cheap. Worth doing earlier in similar product-research stacks.
Used by
synthux drives this desktop natively for visual computer-use dataset capture. The synthux executor installs a small launcher overlay, clicks the launcher button for a target surface via a real low-level mouse event, and the click flows through the existing taskbar:shortcut:clicked event so an app opens identically to a real taskbar click. The SynthUX bridge in packages/os/src/synthuxBridge.ts exposes window.__synthuxLaunchApp(appId) for that path.
Neighborhood