
If you love building desktop apps using web technologies
(HTML/CSS/JS) but hate the 100MB+ bloat of Electron, you are in the right place.
Meet Vaelo: a lightweight, cross-compilable native desktop application runtime utilizing a statically embedded Go backend and native system browsers in application mode.
⚡ The Stats at a Glance
Go: 1.18+ | JavaScript: ES6+ | License: MIT | OS: macOS / Windows / Linux
| Feature | 🎈 Vaelo | ⚛️ Electron |
|---|---|---|
| Executable Size | < 7MB (compressable to < 2MB) | ~100MB+ |
| Memory Footprint | ~15MB - 30MB | ~80MB - 150MB+ |
| CGO Compilers | Not Required (uses precompiled templates) | Required |
| Browser Runtime | Native Webview (WebKit / WebView2) | Embedded Chromium |
| Backend Engine | Go (Statically Compiled) | Node.js |
🚀 Key Features
- ⚡ Zero-CGO Cross-Compilation: Ship precompiled binaries in
bin/templates. Package macOS.appbundles from Windows, or Windows.exefiles from macOS in under 1 second without compiler setups. - 🎈 Microscopic Binary Footprint: Statically compiled Go runtime weighing
< 7MB. Combine it with the UPX compression utility to shrink your executable down to< 2MB! - 🖥️ Native Window Frame: Renders web assets using native platform browsers in application mode (WebKit/Cocoa on macOS, WebView2 on Windows) for native system integration.
- 🔌 Unified OS SDK Bridge: A built-in asynchronous JavaScript API (
window.Vaelo) exposing system file dialogs, clipboard operations, terminal runner, and power monitoring. - 🔒 Secure CORS-Free Proxy Tunnel: Route local database requests (like SQLite or NoSQL) securely through Vaelo's Go backend to prevent webview security/CORS blocks.
🛠️ How It Works (Getting Started)
You can install Vaelo via NPM and create a new desktop application in seconds:
# 1. Install the Vaelo package
npm install @loftytechlabs/vaelo
# 2. Initialize a new project boilerplate
npx vaelo init my-desktop-app
# 3. Navigate to the project folder
cd my-desktop-app
# 4. Start in Development Mode (Serves local web resources with hot reload)
npm start
# 5. Package as a Standalone Executable (Bypasses compilers using templates!)
npm run build
🔌 Using the OS Bridge (window.Vaelo)
Vaelo automatically injects the window.Vaelo client bridge into your web application to communicate securely with the host operating system:
// 1. Get System OS Info
const osInfo = await window.Vaelo.getOS();
console.log(osInfo); // "darwin_arm64", "windows_amd64", etc.
// 2. Write Local File
await window.Vaelo.writeFile("my_file.txt", "Hello from Vaelo!");
// 3. Execute Terminal Commands
const output = await window.Vaelo.runCmd("ping -c 3 google.com");
console.log(output);
⭐ Support & Open Source
Vaelo is open-source and released under the MIT License. I would love to hear your thoughts, feature requests, and suggestions!
👉 Check out the repo, try it out, and leave a star!
🔗 GitHub Repository: loftytechlabs/vaelo
tags: showdev, javascript, go, desktop
Top comments (0)