The big projects

Homelab

My personal homelab, both a learning and self-hosting environment and my biggest money-sink

Having undergone many iterations, it's currently made up of 5 'servers': one generic Ryzen mini pc, 'balimund'; one HP EliteDesk 600 G3 SFF (nice name HP), 'dezziri'; and three Dell OptiPlex 3060 Micros (slightly better name, but still not great), 'zayouduf', 'yeqdah' and 'xokomar'; all of which run Proxmox VE. Balimund currently acts as my main docker host, router and the testing environment for my dissertation. Dezziri is positively crammed full of hardware, having two 12TB HDDs passed through to a TrueNAS VM, a 10GbE NIC, as well as an Intel ARC A310 for speedy video encoding and transcoding in Jellyfin. The three OptiPlex's are set up as a Proxmox cluster to act as a learning environment for both Proxmox clustering, as well as other clustering solutions (currently running a 3-node K3s cluster as VMs).

As if I hadn't spent enough on compute hardware, I've also invested into a Unifi network setup, currently made up of three Flex-line switches and a U6+ access point with the network controller running in a VM. Is it massively overkill for a single user in a tiny flat? Yes. I will take no further questions.

HiveSignage

A digital signage system created as my bachelor's dissertation project.

More info to come soon!

Train Tracked

A better™ train tracking app, created for a level 5 project @UoP

Built using Flutter on the frontend, and Dart with Shelf on the backend, it uses National Rail Enquires' Darwin™ API for realtime data. The backend acts effectively as a proxy between the mobile app and Darwin, both converting from the SOAP API that is Darwin to a more modern REST API, and improving the reliability of calls by adding error handling and holding open TCP connections when mobile devices may not be able to.

Yes, that's right; the UK's flagship train tracking API has almost no error handling what-so-ever and will constantly spit out 500s at the sign of slight inconvenience