
A custom Electron-based ambient HUD running on a 3840×1100 ultrawide bar display, mounted below the primary monitor. The Deck pulls real-time data from across the local network and renders it in a glanceable JARVIS-style interface.
What it does
- System telemetry — Live CPU, GPU, RAM, VRAM, and thermals polled every few seconds
- 3D print farm monitoring — Camera feeds from multiple printers proxied through go2rtc, with printer status indicators
- Mining dashboard — Aggregate hashrate, per-unit temps, best difficulty, and share counts from a fleet of Bitaxe miners
- Weather — Local conditions via OpenWeatherMap
- AI chat — Built-in streaming chat with Gemini and Claude, rendered in the same HUD aesthetic
- App launcher — Quick-launch grid for frequently used tools and services
The stack
Electron + vanilla JavaScript with a modular architecture. Each data source is its own module (system.js, miners.js, cameras.js, etc.) exporting init() and update() functions. No React, no build tools — just clean modules and a config file.
Design
Dark void background with bright accent data. Orbitron for headers, JetBrains Mono for data values, Outfit for body text. The goal is zero cognitive load — glance, absorb, move on. Anomalies (offline miners, printer errors, high thermals) pop visually without reading.
Key engineering challenges
- RTSP cameras in Electron: Chromium doesn’t support RTSP natively. MJPEG via Fetch ReadableStream only captures one frame. Solution: go2rtc Docker proxy serving HTTP snapshots, polled at 500ms intervals.
- Modular data polling: Each module runs on its own interval (5-30s) depending on how fast the data changes, keeping the UI responsive without hammering APIs.
Gallery

