~/jw

$ ls ./projects

My Projects

Course work, personal projects, and the infrastructure I run at home.

Homelab Infrastructure

// the_stack

How the pieces fit together. Guests live inside the Proxmox host, storage attaches to it, and Tailscale reaches it as an overlay rather than through an open port.

Home lab topology diagram, stacked layout Tailscale Remote device outside the LAN Router/switch network edge Proxmox VE Lenovo x3250 M6 · 32GB RAM LXC CONTAINERS AND VMS ZFS pool · 5TB DAS direct attached storage Docker Compose Microservices, web servers, and internal tools. Jellyfin Hardware-accelerated transcoding, ZFS-backed persistent storage. media-automation Request handling and library automation for Jellyfin. Several services, one container.
The home network edge connects over wired LAN to a bare-metal Proxmox VE host. Docker Compose, a Jellyfin container, and a media-automation container run as LXC containers and VMs inside that host. A ZFS pool on a 5TB direct-attached enclosure is attached to the host. A remote device reaches the host through a Tailscale overlay built on WireGuard, without any inbound ports opened at the edge.
  • wired LAN
  • Tailscale overlay
  • attached storage
Proxmox VE
The core of my lab, running on a Lenovo System x3250 M6. A bare-metal host with 32GB of RAM running LXC containers and VMs for development and production.
ZFS on a 5TB DAS
Direct-attached storage for the host, running ZFS for storage reliability.
Docker Compose
Orchestration for microservices including web servers and internal tools.
Jellyfin media pipeline
Automated media delivery stack with hardware-accelerated transcoding and ZFS-backed persistent storage.
media-automation
Request handling and library automation for the Jellyfin library. Several services running together in one container.
Tailscale VPN
Remote access built on WireGuard. Lets me manage internal services without opening a port at the edge.

// Hardware: Lenovo System x3250 M6, 32GB RAM, ZFS on a 5TB DAS for storage reliability.

Software Development

Sendline

Flutter Dart Supabase PostGIS Row-Level Security Mobile

Built a ski and snowboard tracking app in Flutter, backed by Supabase and PostGIS. Modelled runs as geospatial data and enforced per-user access to it with row-level security policies at the database layer.

Taskd - Distributed Task Scheduler

Java Maven JUnit Design Patterns Concurrency Thread-Safety

Task scheduler with priority queues, retry handling, and real-time metrics. Built around the Strategy, Decorator, Builder, Observer, and Factory patterns, with 90%+ test coverage and 1000+ tasks/second throughput.

[ View Code ]

SteadyPlan

PHP PostgreSQL REST API Database Design MVC User Authentication (Session)

Built the backend for a Kanban-style project management app in PHP and PostgreSQL. Designed the database around task reordering and team collaboration, and wrote the API the frontend consumes.

[ View Code ]

Bracket Bets

Javascript JSON Data Parsing GraphQL Asynchronous Programming Frontend

Client-side prediction game that pulls historical tournament data from a third-party GraphQL API, parses the JSON brackets, and renders them as a Top 8 guessing interface.

[ View Code ]