Everything listed here runs on the same homelab k3s cluster — three Lenovo ThinkCentre M920q mini PCs, a 10GbE backbone, and a lot of YAML. Every project deploys via GitHub Actions on self-hosted runners, stores data in PostgreSQL on Longhorn distributed storage, and exposes Prometheus metrics for monitoring.

Homelab Kubernetes Platform

The foundation that everything else runs on. A 3-node Proxmox VE cluster hosting a k3s Kubernetes distribution in HA mode with embedded etcd. All infrastructure is defined as code — Terraform provisions the VMs, Ansible configures the OS, and Helm charts deploy the platform services.

Stack: Proxmox VE / k3s / Terraform / Ansible / Longhorn / Traefik / MetalLB

Blog posts: One Month Retrospective · Choosing the Hardware · Cluster Genesis · Self-Hosted CI/CD · VLAN Migration · GPU Passthrough · Monitoring Everything · 10GbE Networking

GitHub


Digital Signage

A self-hosted home dashboard system that displays real-time data on Raspberry Pi kiosk screens. Shows calendar events, weather, chore schedules, and Home Assistant device controls. Features a drag-and-drop WYSIWYG grid editor so each display can have a unique layout, stored as JSONB per device.

Stack: Angular 20 / Flask microservices / PostgreSQL / MQTT / Web Speech API

Blog post: Digital Signage on k3s

GitHub


Media Library

A self-hosted blog asset management system for this site. Handles photo and video uploads, generates AI-powered metadata (alt text, tags, descriptions) via AWS Bedrock, transcodes video for both web delivery and YouTube, and produces ready-to-paste Hugo shortcodes.

Stack: Python / FastAPI / PostgreSQL / S3 + CloudFront / AWS Bedrock / FFmpeg

GitHub


Trading Bot

An automated ETF trading bot that monitors and trades on Robinhood using AI-powered price predictions. Implements swing trading with full PDT (Pattern Day Trader) compliance. Ships with safety defaults — dry run and paper trading are enabled by default.

Stack: Python / Flask / PostgreSQL / AWS Bedrock (Claude) / Robinhood API

GitHub


Card Price Tracker

A trading card game price tracker that monitors card prices across 10 major TCGs. Scrapes prices from TCGPlayer and eBay, stores historical data, and displays price trends on a web dashboard with Chart.js visualizations.

Stack: Python / Flask / PostgreSQL / Selenium / Chart.js

Blog post: Cardboard Price Tracker

GitHub


AI Chat Gateway (OpenClaw)

A self-hosted AI assistant gateway that replaced Open WebUI on the cluster. Provides a WebSocket-based chat interface with multi-channel support (web, Telegram, Discord, WhatsApp), dual model providers (Anthropic direct API + AWS Bedrock via LiteLLM), and per-user cost tracking. Privacy-first design – the admin cannot read other users’ conversations.

Stack: Node.js / OpenClaw / Anthropic API / LiteLLM / AWS Bedrock / Prometheus + Grafana

Blog posts: OpenClaw on k3s · Multi-User and Privacy · Open WebUI (predecessor)


This Blog

The site you are reading. A Hugo static site using the PaperMod theme, deployed to AWS S3 and served via CloudFront CDN. Infrastructure is managed by Terraform — S3 bucket, CloudFront distribution, Route53 DNS, ACM certificate, and IAM policies are all defined as code.

Stack: Hugo / PaperMod / Terraform / S3 + CloudFront / GitHub Actions / AWS Bedrock

GitHub


3D Printing

A Bambu Lab P1S 3D printer used to fabricate custom parts for the homelab. Node enclosures with hexagonal mesh ventilation, SFP+ cable routing brackets, rack shelves, equipment mounts, and cable management clips — all printed in PETG for heat resistance near running hardware.

Printer: Bambu Lab P1S (enclosed, lidar bed leveling, direct drive)

Blog posts: Bambu Lab P1S · PETG Filament Settings