I've been working on Lumiana because I wanted to write a personal app's UI and logic together, without building a separate API just to connect them.
It works with Vite. You connect to the Node server with credentials first, then use Node imports alongside your UI code. JavaScript stays in the browser where possible, while operations that need the operating system run on the server.
After connecting, a small example looks like this:
import { hostname, platform } from 'node:os';
document.body.textContent = `Connected to ${hostname()} on ${platform()}`;
The goal is to use existing Node libraries as they are, without changing them or writing compatibility code for each package.
I've had examples running with Express, Hono, Elysia, Sharp, node-pty, and sqlite3, but it's still early. Most libraries I've tried don't work normally yet, so there's a lot left to do.
Top comments (0)