Projects

Things I’ve built

Side projects, mostly self-hosting and hardware. A couple of them are running right now, including the one serving this page.

Photo
add image: to cluster.md
RunningHomelab

The Pi cluster

Three single-board computers on a 3D-printed 1U panel in a 10-inch rack. It hosts this website and a chat front-end for the local AI running on my desktop.

Nodes
Raspberry Pi 5 · Libre Computer Le Potato (AML-S905X-CC) · Raspberry Pi 4B
Mount
Custom 1U flat panel, three bays, printed on a Bambu Lab P1S
Serves
This site (Caddy) · Open WebUI → Ollama on my desktop
Build notes

I skipped the official Pi cases and tried a blade-style chassis first, with each board in a vertical caddy (3U, then 2U). It was fiddly to print and service, so I went back to a single flat 1U panel with all three boards side by side: Pi 5, Le Potato, Pi 4B.

This website is written in Markdown, built into static HTML with a small Python script, and served by Caddy.

Photo
add image: to ipod.md
DoneHardware mod

The SSD + Bluetooth iPod

A classic click-wheel iPod brought up to date. The spinning hard drive is swapped for solid-state storage, it has a bigger battery, and Bluetooth so it works with wireless headphones.

Base
[iPod model / generation]
Storage
SSD in place of the original hard drive · [capacity, adapter used]
Battery
Higher-capacity replacement · [mAh]
Wireless
Bluetooth audio · [module / codec]
Build notes

Solid-state storage gives more room than the original drive, has no moving parts to fail, and draws much less power. Combined with the bigger battery, that means far longer playback.

[Add: how you opened it, which adapter and Bluetooth board you used, how you fit it all in the case, and the battery life you got.]

Photo
add image: to local-ai.md
In progressAI · self-hosted

A fully local AI assistant

A chatbot and coding agent that runs entirely on my own hardware, with no cloud and no data leaving the house. The longer-term goal is an agent that can build CAD parts and check its own work.

Model
Qwen3-Coder 30B via Ollama
GPU box
Core i7-14700K · RTX 3080 10 GB · 32 GB DDR4
Front ends
Open WebUI on the Pi cluster · Cline for coding tasks
Photo
add image: to home-network.md
RunningNetworking · privacy

Private home network

A home server that blocks ads and trackers for every device on the network, resolves DNS itself instead of asking a big provider, and lets me get back in securely from anywhere.

DNS
Pi-hole + Unbound (recursive resolver)
Remote access
WireGuard VPN
Storage
Synology 2-bay NAS, used without Synology’s cloud services, with Hyper Backup between drives
Build notes

There’s a step-by-step write-up in the how-to guides.

Photo
add image: to 3d-printing.md
OngoingFabrication

3D printing

Functional parts, mostly. Rack mounts, brackets, and enclosures for the other projects on this page.

Printer
Bambu Lab P1S with AMS
Workflow
Model in Onshape → slice in Bambu Studio → print over the network