Experiment

Electron

definitionfrontenddesktopframeworks

Framework for building desktop apps with web technologies (Chromium + Node.js).

Electron bundles Chromium (the browser engine) and Node.js into a single executable, letting you build desktop apps with HTML, CSS, and JavaScript. Your web app becomes a native window with full access to the file system, OS notifications, and system tray. The architecture splits into two processes: a main process (Node.js, one per app, handles lifecycle and IPC) and renderer processes (one per window, runs your frontend framework). VS Code, Slack, Discord, and Figma all use Electron. The tradeoff: you get the entire npm ecosystem on the desktop, at the cost of shipping a full browser runtime.

How It Works

Main process creates BrowserWindow instances → loads HTML/JS → renderer handles UI → IPC (ipcMain/ipcRenderer) bridges the gap when UI needs to trigger file writes or spawn processes.

Example

Dakka uses Electron as its desktop shell for parallel Claude Code session orchestration. The main process (Gork) manages spawning/killing agent sessions and WebSocket communication; the renderer (Mork) provides the spawn/kill UI and debug infrastructure including console intercept and screenshot capture. The Rust migration moved this to Tauri v2 but the patterns were established here. Architecture at Dakka.