All work

Software wired straight into a real house

Smart home platform

A web app my whole family uses every day to run our house: heating, lights, locks, cameras, garden, the robot vacuum and the network. It runs around the clock on a Raspberry Pi 5 and talks to the hardware directly, with no Home Assistant in between.

When
2026 – now
Role
Sole engineer · in daily family use
Status
Running 24/7
  • 6
    heating circuits under control
  • 80
    API routes, all permission-checked
  • 5
    cameras over WebRTC
  • 1,600
    line design system spec
Heating: six circuits with supply and return temperatures, the boiler, the buffer tank and the radiator mode
Heating: six circuits with supply and return temperatures, the boiler, the buffer tank and the radiator mode
Network: the PoE switch front panel with link speeds and power per port, and diagnosed problems
Network: the PoE switch front panel with link speeds and power per port, and diagnosed problems
Overview: door unlock, weather, ventilation and hot-water circulation (camera hidden for privacy)
Overview: door unlock, weather, ventilation and hot-water circulation (camera hidden for privacy)
Heating on a phone
Heating on a phone
Overview on a phone, with the iOS 26 style glass tab bar
Overview on a phone, with the iOS 26 style glass tab bar

How it fits together

  1. 1Relay boards + LAN controllers
  2. 2MQTT broker
  3. 3Next.js server + jobs
  4. 4Server-sent events
  5. 5Phone, PC, wall tablet

Hardware it controls

  • Heating: six circuits with weather-compensated curves, night setback, a slow ramp-up for floor heating, trip limits and stale-sensor detection, and an emergency stop. The control logic is pure and separate from the one module that touches hardware.
  • Lights, fans, sockets, barn power and three doors through HTTP relay boards; hot-water circulation and garden irrigation on schedules.
  • Five IP cameras streamed over WebRTC with an MP4 fallback, only while someone is watching.
  • A Python bridge for the Roborock vacuum: vector map of the flat, tap a room to clean it, live position and path, consumables.
  • A Ubiquiti PoE switch dashboard: power budget, per-port speed and automatic detection of problem ports.

Security and UX

  • Twelve permission areas (hidden, view, control), enforced on the server for every API route, not just in the UI.
  • Doors unlock with a swipe plus Face ID or fingerprint (WebAuthn passkeys), short-lived tokens with rotating refresh tokens, step-up auth for admin actions.
  • A security pass that took device passwords out of page data, and a guard that blocks the dev environment from switching real hardware.
  • An iOS 26 “Liquid Glass” inspired design system with a 1,600-line spec in Czech and English, personal dashboards, a ⌘K command palette and light, dark and OLED themes.

Stack

Next.js 16React 19TypeScriptPrisma + SQLiteMQTTgo2rtc / WebRTCPython (aiohttp)WebAuthnPM2