Projects

Built and running. Each of these exists, has a repo or a live diagram, and taught me something specific.

seb@sebstack: ~/projects
seb@sebstack:~$ ls projects/
homelab/  llm-stack/  worldclock/  this-site/
seb@sebstack:~$
status
homelabProxmox · 24/7
llm-stackRDNA4 · local
worldclockPi 5 · desk
this-siteCloudFront
● running

Homelab

Proxmox on a repurposed gaming PC: a Docker Compose stack behind Caddy, plus an always-on mini server carrying the essentials in LXC. Tailscale-only access; encrypted daily backups to S3. See the interactive diagram → · View repo →

ProxmoxLXCDockerTailscaleCaddyS3 backup
● running

Local LLM Stack

Capable LLMs running locally on an AMD RX 9070 XT (RDNA4): Vulkan beat ROCm for inference (~50 tok/s on a 35B MoE). Paired with Claude in a two-tier workflow: plan with Claude, execute with a local Qwen. Every backend speaks the OpenAI API at localhost:8080. View repo →

AMD RDNA4VulkanQwen 35BClaude
● running

Worldclock

A Raspberry Pi 5 desk clock showing time across regions I care about. Driven by systemd, deliberately without NTP: a study in controlled, predictable timekeeping. View repo →

Raspberry Pi 5systemdPython
● staging

This site

Static site on Hugo, served from a private S3 bucket via CloudFront with Origin Access Control, security headers and HSTS. A CloudFront Function handles auth and URL rewrites at the edge — far cheaper and lower-latency than Lambda@Edge for tiny request-time logic. Built in the open with AI. The architecture page doubles as the case study. See the interactive diagram →

HugoS3CloudFrontOAC
● in use

Recall System

The spaced-repetition system I run in Obsidian: five stages, a dashboard, and a local-LLM flashcard generator. See the interactive diagram → · templates in the garden →

ObsidianDataviewlocal LLM