Work

A few of my projects over the years, the things I built,
and what I learned along the way.

IoT telemetry pipeline

Professional work

A fleet of networked sensor devices and the pipeline behind them: microcontrollers publishing over MQTT, routed through RabbitMQ into time-series storage, served by REST APIs to a web dashboard. Firmware to browser, every layer.

  • Python
  • RabbitMQ
  • TimescaleDB
  • MQTT
  • REST
Read more →
LEADERFOLLOWERS

Raft key-value store

Personal project

A five node distributed key-value store over HTTP. Leader election with pre-vote, log replication and crash-safe SQLite persistence, staying available through two node failures.

  • Python
  • FastAPI
  • SQLite
  • Docker
  • Consensus
Read more →
A mel spectrogram of a phased guitar chord, rendered in vermilion on cream, its harmonic bands sweeping as the effect moves

Heimdall

Personal project

Guitar effect recognition. A CNN trained from scratch to identify which effect is on a guitar recording, across twelve classes. Feature pipeline, grouped splits and model built; training next.

  • Python
  • PyTorch
  • FastAPI
  • Docker
Read more →
Holding the sensor board in front of a laptop, where a 3D box on screen tilts to match its orientation, with live environmental readings above

IMU 3D Viewer

Personal project

Real-time 3D orientation visualiser for IMU data streamed over MQTT, supporting Euler angles and quaternions, with magnetometer hard and soft-iron calibration

  • Python
  • MQTT
  • MicroPython
  • NumPy
Read more →