Electron, but lighter. A Firefox-engine alternative powered by Servo. Drop-in replacement — just run gelectron . instead of electron .
Why Gelectron exists
Run gelectron . instead of electron . and your app just works. Same Node.js code, same require('electron') imports, zero changes needed.
Powered by Servo, Mozilla's next-gen browser engine. Uses Gecko's CSS engine (Stylo) and GPU compositor (WebRender) instead of bundling Chromium.
Implements core Electron APIs: app, BrowserWindow, ipcMain/ipcRenderer, Menu, Tray, Dialog, Shell, Notification, nativeImage, contextBridge, and more.
Rust static linking means smaller output than Electron's Chromium bundle. No more 150MB+ binaries for simple apps.
Servo's architecture is designed for embedding and uses less memory than Chromium. Your users will notice the difference.
Core engine written in Rust for safety and performance. N-API addon bridges Rust and Node.js seamlessly.
Gelectron is in very early development. This is an experiment — a proof of concept that Electron apps can run on a non-Chromium engine. Many Electron APIs are currently stubs or incomplete. Some things will break. Some things don't exist yet.
The goal right now isn't to replace Electron for production apps. It's to explore whether this is possible, learn how Electron's internals work, and build a foundation that could grow into something real.
If you're curious, try it out with a simple Electron app. If you find bugs, open an issue. If you want to contribute, even better.