Things I've Worked On
A mix of technical projects, community work, and physical builds — mostly software, occasionally not.
- Rust(7)This Website - Full-stack Rust with Leptos, Axum SSR, and WASMTrading Bot - Kubernetes operator for declarative trading bot lifecycle managementEcosim - Planet-scale ecosystem simulator built on BevyProcedural Generation - H3 hexagonal planet grid with adaptive LOD and deterministic simulationOrbit Camera - Trait-based orbital camera Bevy plugin with customisable inputKeybind Plugin - Flexible multi-input action-binding system for BevyGPU Shaders - H3 hexagonal grid shaders written in Rust via Rust-GPU
- Bevy(4)
- ECS(4)
- Axum(2)
- WASM(2)
- Git(2)
- CI/CD(2)
- Kubernetes(2)
- Linux(2)
- H3(2)
- Leptos(1)
- lettre(1)
- CSS(1)
- Cloud-hosting(1)
- Let's Encrypt(1)
- RKE2(1)
- Longhorn(1)
- Istio(1)
- Helm(1)
- YAML(1)
- kube-rs(1)
- SQLite(1)
- OpenAPI(1)
- tokio(1)
- Docker(1)
- Procedural Generation(1)
- Rust-GPU(1)
- SPIR-V(1)
- OpenEMR(1)
- OpenVPN(1)
- Self-hosting(1)
- Networking(1)
- Security(1)
- Fabrication(1)
- Electrical(1)
- Solar(1)
- Plumbing(1)
- Woodworking(1)
This Website
A full-stack Rust web application with server-side rendering, WASM hydration, and a live view-source mode. Built with Leptos, Axum, and cargo-leptos.
Details →Home Lab
A three-node bare-metal Kubernetes cluster on repurposed hardware, running RKE2, Istio, and Longhorn with real workloads — Gitea runner, RabbitMQ, Matrix, InfluxDB, and more.
Details →Trading Bot
A Kubernetes-native operator that manages the full lifecycle of automated trading bot deployments via Custom Resource Definitions — configuration, scheduling, and declarative risk limits all in one spec.
Details →Ecosim
A planet-scale ecosystem simulator built on Bevy. Players seed a world, guide species populations, and intervene in emergent food webs — from global climate patterns down to individual organisms.
Details →Procedural Generation
A planet-scale hexagonal grid engine using Uber's H3 library. Cells refine and coarsen dynamically based on camera distance, with Perlin noise terrain and a trait-based simulation system.
Details →Orbit Camera
A reusable Bevy orbital camera plugin. Input is fully decoupled via a trait — swap keyboard, mouse, or gamepad without touching the camera code. Quaternion rotation, two modes, speed falloff.
Details →Keybind Plugin
A Bevy input binding plugin that maps keyboard, mouse, gamepad, and touch inputs to named actions. Game logic responds to actions, not hardware — rebinding is a runtime change.
Details →GPU Shaders
SPIR-V shaders written in Rust via Rust-GPU. The vertex shader generates H3 hexagonal cell boundaries entirely on the GPU from a list of cell indices — no mesh data from the CPU.
Details →Stonewell Free Clinic
Co-founded a free gender affirming care clinic with the Rivanna Area Queer Center, staffed entirely by volunteers. Deployed and secured OpenEMR on donated hardware with OpenVPN access for providers.
Details →The Nomad
A 2018 Chevy Express 3500 shuttle bus stripped to bare metal and being rebuilt as a fully off-grid mobile home and remote workspace — solar power, running water, and Starlink.
Details →