Vibeleaderboard
Index / tool
Category
Developer Tools
Rank
No. 1572Tools index

Previous survey · No. 1580 ·

Pricing
Open Source
Type
TOOL
GitHub
52 stars
Date

About

Web-based Linux desktop environment running on Vercel Sandbox (proof of concept).

What it does

Sandcastle gives each user an isolated Linux workspace controlled through a desktop-style browser interface. Users can manage windows, search for applications, edit files, run shell commands, use browser-hosted VS Code, and interact with streamed graphical Linux applications. Separate workspaces retain independent state, while a prepared machine image speeds creation.

Why it's ranked here

Sandcastle is a substantial demonstration of remote desktop orchestration, not merely a styled shell around a terminal. It connects window management, persistent workspace state, graphical application streaming, file operations, notifications, clipboard handling, and prepared machine images. The repository explicitly warns that it is AI engineered and unsuitable for production, so its value lies in architectural exploration and prototyping.

What's good

The desktop covers unusually complete interaction details: window snapping, keyboard shortcuts, touch controls, theme synchronization, desktop notifications, clipboard exchange, file downloads, custom cursors, and system tray icons. Prepared machine images include graphical applications and development tools, cutting documented workspace startup from roughly two minutes to roughly five seconds. An integration script checks the terminal relay, graphical streaming, editor, and file service together.

Tradeoffs

Running it requires several moving parts: a Vercel account with Sandbox access, Postgres, Node, pnpm, Bun, environment secrets, database setup, and a prepared machine image. Production authentication is unfinished because the included provider integration is only a reference. Prepared images expire and need scheduled rebuilding. Rate-limit checks fail open after logging errors. The authors explicitly classify the project as a proof of concept and not production-ready.

How to use it well

Use Sandcastle to study or demonstrate how a browser desktop can coordinate isolated development machines, remote terminals, graphical Linux software, files, and persistent window state. It best suits prototypes, internal experiments, and architecture spikes where operational complexity is acceptable. Treat the integration script as a baseline health check. Do not use it as a ready-made production workspace service, authentication system, or general local desktop replacement.

Technical notes+

README.md describes a React browser client, Next.js API routes, Neon Postgres, and Vercel Sandbox microVM services on ports 14080 through 14083. package.json defines a private TypeScript application using Next.js 16, React 19, Drizzle ORM, Zustand, SWR, ghostty-web, xpra-html5-client, and @vercel/sandbox, with pnpm for package management and Bun for snapshot and integration scripts. src/stores/xpra-store.ts dynamically loads the Xpra client and bridges windows, canvas drawing, notifications, tray icons, cursors, downloads, URLs, and bidirectional clipboard activity. src/stores/window-store.ts keeps per-workspace window state in Zustand and persists changes through a debounced PUT request. src/lib/rate-limit.ts uses @vercel/firewall, exempts admins, returns HTTP 429 when limited, and allows requests when the check throws.

Observed

License
MIT
Primary language
TypeScript
Application surface
Browser desktop served by a Next.js App Router application
Package management
Private pnpm package; setup installs dependencies with pnpm
Runtime platform
Vercel Sandbox microVMs with a required Postgres database
Interfaces
Browser UI, Next.js HTTP API routes, WebSocket terminal relay, Xpra streaming, and embedded code-server
Verification surface
A Bun-driven sandbox integration script checks PTY, Xpra, code-server, and file API services

Read from README.md, package.json, src/lib/swr.ts, src/app/page.tsx, src/lib/utils.ts, src/app/layout.tsx, src/types/window.ts, src/lib/constants.ts, src/types/sandbox.ts, src/lib/rate-limit.ts, src/types/workspace.ts, src/stores/auth-store.ts, src/stores/xpra-store.ts, src/lib/workspace-slug.ts, src/stores/window-store.ts.

What it can do

  • Provide Linux desktop environment access through web browser

    Web browser and internet connectionInteractive Linux desktop interface

  • Execute Linux commands and programs

    Terminal commands or application launchesCommand execution results and program outputs

  • Create and edit files in Linux filesystem

    File creation/editing commands or GUI interactionsModified files and filesystem changes

  • Run development tools and code editors

    Development environment requestsActive coding environment with tools

  • Install and manage Linux packages

    Package installation commandsInstalled software and system updates

Tags

linuxdesktopvercelsandboxwebos

Tech Stack

Node.jsNext.jsTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.