code

Everything here is built to run on the house network, off-grid, with no cloud dependency. Mostly Vue 3 on the front, Node and Express behind, talking to MQTT, WebSockets and a Caddy reverse proxy.

All of it is on GitHub.

MQTT_Layout

Vue · 19 ★

A local-first home automation dashboard for the house. Real-time MQTT sensors, gauges and switches; weather; MJPEG camera cards; Music Assistant control; a notification engine with edge-triggered thresholds; Victron solar and battery integration; ESP32 boards straight on the broker with no Home Assistant round-trip. Drag-and-drop edit mode, custom themes, a dedicated mobile layout, IR and TV remotes, and ~10,000 IPTV channels proxied through the backend.

  • Vue 3
  • Express
  • MQTT
  • WebSocket
  • Caddy
  • ESPHome
The MQTT dashboard running in a browser, dark theme, showing house sensors and solar data

Paraglider-tow-winch

Hardware · firmware · FreeCAD

An open, electric paraglider tow winch — proven towing procedure, modern electric drive, closed-loop tow-force control. The goal is consistency and safety: precise force control, reduced operator workload, independent electronic safety layers, and passive failure under abnormal conditions, enabling safe solo towing. Parametric FreeCAD model regenerated from a single config file; ESP32 mainboard and Arduino Giga display firmware.

  • ESP32
  • Arduino Giga
  • FreeCAD / Python
  • Seplos BMS
3D CAD model of the tow winch: steel tube frame, red cable drum, motor and battery boxes

Site_Dashboard

Vue

A self-hosted server and network dashboard running on a Mac mini. Manages hosted websites (start/stop, build, live logs), Docker containers via Colima with an in-browser terminal, the Caddy config and process, and a hardware/network overview of the machine itself.

  • Vue 3
  • Express
  • SSE
  • node-pty
  • xterm.js
  • Docker / Colima

MA_Visualizer

Vue · 1 ★

A full-screen browser audio visualizer for Music Assistant. Five visual modes — radial, iTunes, spectrum, oscilloscope, nebula — driven by real-time analysis over the Sendspin protocol. Auto-syncs to the selected MA player; analysis only, no audio output. Safari compatible.

  • Vue 3
  • Web Audio API
  • Sendspin
  • Canvas

RadioRecorder

Vue

A web-based internet radio recorder. Pick a station, hit record, and the stream is saved to the server as ID3-tagged MP3s. Station management, scheduled recording, and real-time status over WebSocket.

  • Vue 3
  • Express
  • node-id3
  • WebSocket

X-Plane-Panels

HTML · JS

A real-time moving map and A320-style EFIS panel for X-Plane, as a local web app. Leaflet map that follows the aircraft, AIRAC airspace overlay from OpenFlightMaps, and a full PFD/ND built from X-Plane UDP and dataref feeds forwarded to the browser over WebSocket.

  • Node.js
  • Leaflet
  • WebSocket
  • X-Plane UDP / RREF

music-assistant

Vue

A standalone mobile web app for Music Assistant, built for the iPhone home screen. Full player card themed from album art, live queue, disk browser, radio, and direct audio streaming to the phone over Sendspin — no Bluetooth or AirPlay.

  • Vue 3
  • Vite
  • WebSocket
  • Sendspin

boneNode

CSS · 3 ★ · 2016

An early one: a web remote for the BeagleBone Black.

  • BeagleBone Black
  • Node.js