NIGHTS & WEEKENDS / SINCE 2023

Many contributions in the last year

Most of what follows started with a stack I’d never used before, and ended with something in production. All open source contributions were reviewed by upstream maintainers before they landed.

Hi, I’m Joel.

music composition to software architecture
Portrait of Joel Gerard

My first degree is in music. I was fascinated that something so intangible as organized sounds could be described theoretically and then built with those rules in mind, or in spite of them. I was always taught the design-first mentality: a symphony is not a hundred disparate parts playing randomly; every one of them is there to articulate the composer’s intent.

That intuition transfers directly to software and infrastructure. But knowing to design first and knowing where things belong in that design are different skills. Is this a controller concern or a service concern? Does this belong in the container, or on the host? I still find myself working through those questions.

The timeline below is my case: enough reps to weigh in on that debate with some authority.

Where this runs

Everything on this page - the site, the live demos, the game server, and its dashboard - is served from a late-90s desktop in my house that I have aptly named the Toaster.

Project and career timeline

JulPublished Harnessing the Modern Prometheus, a Frankenstein pastiche on harness engineering in three parts
Jun – Jul

Harness Engineering with Claude Code

I built three harnesses, each iteration built on findings from the last: v1 exposed the spec as the real bottleneck, v2 added a separate evaluator agent since self-evaluation skews positive by design, v3 took over unfinished code and closed 47 features with 821 backend tests.

PowerShellClaude CodeHarness EngineeringPrompt Engineering
Apr – Jun

Dadcraft Dashboard

A full-stack monitoring dashboard, built in two new languages across 36 sessions with no agentic framework. Real friction came from asking Prometheus to act like a database; pivoting to MySQL made everything fall into place. Feature complete, CI/CD, deployed and running.

GoReactDockerMySQLPrometheusGitHub Actions
Jan – Apr

CMaNGOS #628 - Combat Skill Progression Refactor

I discovered a bug affecting every character across their entire leveling timeline. Redesigned the formula, validated with 100,000-trial Monte Carlo simulations and live playtesting, then reworked it again after a contributor's alternative and a maintainer's structural concern.

MarPlayerbots #275: warlock soulstone targeting; opened and merged the same day, one small change requested
Mar

Cloud Infrastructure Automation

Reduces the CMaNGOS install wiki, a multi-hour manual process, to terraform apply and a 20-minute wait: VPC, an EC2 host in the public subnet, RDS in a private, two-AZ subnet group. A proof of concept, torn down after demonstrating.

TerraformAWSDocker
FebAWS Certified Cloud Practitioner
Dec 2025 – Feb 2026

Quest Drop Rate Normalization

Every quest item across 27 Horde-accessible zones reviewed against public telemetry; 230 entries corrected through idempotent patches. A rules document governed every call, revised four times to stop an AI collaborator from drifting off earlier decisions.

MySQL
JanCMaNGOS #627 - NPC spawn fix

Oct 2025 – Jan 2026

Package Delivery: Test Suite and CI/CD

I came back to a finished project and wrote 494 tests across 17 files, closing a gap in my skill set. The randomized package generator started as a way to make the live demo more interesting, and it ended up surfacing edge cases for the test suite too. First foray into GitHub Actions.

pytestGitHub ActionsFastAPI
Aug

BS Computer Science, Western Governors University

Verify with CeDiD

Jul

Rental Price Estimator

WGU capstone: a machine learning model that predicts monthly rent from property features. Trained on 14,596 cleaned Zillow listings, four iterations to settle on a simpler model over more complex ones. Tested against two real properties, landing within 3.6% and 0.6% of Zillow's estimates.

PythonFastAPI
JunCMaNGOS #602: dynamic AuctionHouseBot filtering, addressed feedback from two reviewers before merge
Jun 2025 – present active

Open Source: CMaNGOS / Playerbots

Pull requests landed in two large legacy C++ codebases, every one through public review. Config-driven features, bot decision-making, combat system behavior, bug fixes, all of it found by running the server rather than reading the issue tracker. Still contributing when time allows.

C++LinuxMySQLcode review
May 2025 – present active

Self-Hosted Infrastructure

Headless Ubuntu Linux, administered entirely over SSH. Built so a compromise gets one service and stops there: every service runs as its own user, sudo is scoped to what it needs, UFW accepts only the forwarded ports, and the box cannot reach anything else on the LAN.

UbuntunginxDockerUFW
MayLinux Essentials, Linux Professional Institute
Mar – Apr

Package Delivery Optimization

Forty packages, 27 addresses, three trucks, and constraints that conflict: deadlines, co-delivery groups, late arrivals, one bad address. Constraints resolve first, geography second. Routes that miss a deadline get rejected and reloaded; a plan that cannot work adds a truck and starts over.

Pythondata structuresalgorithms

Nov – Dec

Craps Web

Full-stack SPA built over a holiday break, and the first thing I built end to end. Spring Boot and Java were a continuation of coursework; Angular and TypeScript were self-taught. Finished in 2026 with a harness I built.

JavaSpring BootAngularDocker
MarStarted Tier-1 Technical Support at GTC
FebStarted BS Computer Science at WGU

Two cats in bee costumes, thoroughly unimpressed
Thank you, from “The Keekus” and “Old Bill”