Electron.js
Desktop apps, main/renderer processes, IPC
About
A framework for building cross-platform desktop apps with web technologies. Bundles Chromium and Node.js into a single runtime, splitting work between a main process (lifecycle, native APIs) and renderer processes (UI windows) that communicate via IPC.
Why
Needed a persistent background process, system tray, native OS integration. Electron was the fastest path from TypeScript knowledge to something shippable on Windows.
Notes
The IPC bridge between main process and renderer process is where most of the complexity lives. Getting them to talk cleanly without leaking logic across the boundary takes time to figure out.
Bundles are large and the renderer without a proper UI framework gets painful at scale. If starting a new desktop project today I'd go with Wails + Go — smaller binary, cleaner architecture, no bundled Chromium. But for shipping the first real thing Electron did the job.
Post
- TypeScript: from friend to nightmare in one stepWhy types protect you, why they trap you, and what happens when type-level programming starts dictating your architecture.
- Thoughts on Void Presence and why I'm not trying to promote itHow a personal project turned into responsibility, why I'm not chasing growth, and where I'm heading next.
- Void Presence: shipping the first real thingBuilding a production desktop app from scratch. What I learned, what broke, why 600+ downloads meant something.