Skip to content

01

Things I've built, end to end.

Things I have built, and what was interesting about building them.

01 2026 live

Homelab v6

Three nodes, two locations, one repository — and no manual changes.

Every infrastructure change is a commit; the nodes pull it themselves on an hourly timer. Secrets are encrypted with SOPS and age and decrypted only at deploy time, Authentik is the single sign-on in front of every service, and backups follow 3-2-1 with restic.

  • Docker
  • Caddy
  • Authentik
  • restic
  • SOPS/age
  • Bash

Read more

02 2023 archived

Elbrus Analytics

Turning a school network into evidence a budget meeting can act on.

Networks get starved of budget because nobody can prove they are saturated. Elbrus Analytics attacks that directly: a server cluster in the school's machine room captures the entire uplink through a mirror port on the core switch, queries components over SNMP, and renders the result as dashboards — deep technical views for the administrators, plain graphics for the people who approve the invoices.

  • Python
  • SNMP
  • Vue.js
  • REST API
  • Linux
  • Docker
20
services
5
goals owned
~100 h
my share

Read more

03 2022 archived

Klimostat 2.0

A classroom that tells you when to open the window.

Stale air makes people slow, and nobody notices until the lesson is already lost. Klimostat 2.0 measures it: a Raspberry Pi station with an MH-Z19 NDIR carbon dioxide sensor and a DHT22 for temperature and humidity, reporting into Azure IoT Hub. An Event Hub function forwards the readings to an Express and MongoDB backend, and once pollutant levels cross the threshold the system issues a ventilation recommendation.

  • Python
  • Raspberry Pi
  • Azure IoT Hub
  • Node.js
  • Express
  • MongoDB
2
sensors
5
tiers, end to end
~100 h
my share

Read more

04 2021 archived

SimpleTeam

Chat, groups and file sharing for a team, built from scratch in Java.

A collaboration hub with chat, grouping and file sharing. Front and back end talk through a purpose-built API, and a master-slave client concept distributes notifications and messages between members. Written before reaching for a framework was the reflex — which is exactly why it taught the most.

  • Java
  • JavaFX
  • SQLite
  • REST API

Read more