⌘ CAVEMANMAKEDO
SEAN BABER / PLATFORM ENGINEER / FROM THE HARDWARE UP

Hardware.
Platform.
Software.

I know the hardware. I build the platform.
I write and ship the software.
Then I automate the whole thing.

I make games, too. CacoPhonic Game Studios on itch.io ↗
CMMAKE / DO / REPEAT
INFRASTRUCTUREAUTOMATIONOBSERVABILITYFIG. 01 — EVERYTHING IS CONNECTED
HARDWARE → NETWORKS → PLATFORM → SOFTWARE → DELIVERYSCROLL TO EXPLORE ↓
01 / THE CRAFTIDEA → EXPERIMENT → ITERATE

One engineer.
The whole path.

Servers, storage, networking, operating systems, cloud infrastructure, and the code running on top. I work across those layers and understand how they affect each other. When something breaks, I can follow the problem through the stack.

01 / FOUNDATIONS

Start with a solid foundation.

Servers, storage, networking, and the operating system. Understand the machine before deciding what to put on it.

LINUXNETWORKINGCONTAINERS
02 / AUTOMATION

Do it once. Then automate it.

Infrastructure as code, application tooling, and release pipelines. Build the platform and the software, then make the useful parts repeatable.

IaCCI / CD
03 / VISIBILITY

Know what’s happening.

Good signals make complex systems legible. Understand the behavior before reaching for the fix.

METRICSOBSERVABILITY
THE TOOLBOX / USED FOR ACTUAL WORKINFRASTRUCTURE · DELIVERY · VERIFICATION

Plenty of tools.
Same instinct: automate it.

The platform changes. The job is still to make it repeatable, know what changed, and prove the thing actually works.

01 / INFRASTRUCTURE AS CODE

IaC is home turf.

Terraform, OpenTofu, and Terragrunt. Reusable modules, environment composition, dependency boundaries, and plan/apply workflows. Infrastructure I can read, change, and build again.

TERRAFORMOPENTOFUTERRAGRUNTGCP / GKE
02 / CONTINUOUS DELIVERY

Different tools. Same job.

GoCD, Octopus Deploy, Jenkins, and GitHub Actions. Build it, package it, get it into the right environment, and keep the path understandable when something goes sideways.

GOCDOCTOPUS DEPLOYJENKINSGITHUB ACTIONS
03 / BROWSER VERIFICATION

Green pipeline. Does it work?

Playwright checks for the parts a running container cannot prove: user flows, protected pages, keyboard controls, and layouts across desktop, tablet, and phone sizes.

PLAYWRIGHTBROWSER AUTOMATIONRESPONSIVE QA
04 / ARTIFACTS & MACHINE BUILDS

Know what you are shipping.

Container images, versioned Helm charts, JFrog Artifactory, and Packer image blueprints. Build artifacts and machine foundations that are identifiable beyond “the latest one.”

DOCKERHELM / OCIJFROG ARTIFACTORYPACKER
05 / SYSTEMS & SCRIPTING

Yes, Windows too.

Linux and Windows/IIS. Bash, Python, Node.js, PowerShell, and Ansible. If the useful fix starts as a script, give it clear inputs, useful output, and a way to run it again.

LINUXPOWERSHELL / IISANSIBLEPYTHON / BASH
06 / PLATFORM OPERATIONS

The work between the boxes.

Kubernetes, ingress, DNS, TLS, secrets, telemetry, and data migrations. The interesting failures tend to cross a boundary. That is usually where I start looking.

KUBERNETESVAULT / OPENBAOOBSERVABILITYDNS / TLS
The professional version, with more detail ↗
02 / YES, THIS IS IN MY HOUSEHARDWARE → SERVICES → INTERESTING PROBLEMS

A little overkill.
Just how I like it.

My own source control. My own storage. Enough hardware to make a bad idea interesting. This is where the platform work gets very, very hands on.

SPINNING RUST

1.4PB

Because “that should be enough storage” is apparently a challenge.
SOLID STATE

124TB

SSD capacity for the things that do not need to wait on a platter.
DNS REDUNDANCY

4Pi-holes

One resolver having a bad day should not become everyone’s problem.

Storage totals across my homelab. Inventory figures, not live usage or availability readings.

THE BIG BOX

Compute meets storage.

Dual Xeon E5-2697 v3
377.8 GiB ECC · TrueNAS · ZFS

A Dell host for persistent services, GitLab, application datasets, and the operational fun that comes with running your own platform.

THE VIRTUALIZATION LAB

A box worth repurposing.

Dell DL1300 · Xeon E3-1240 v5
16 GB ECC · Proxmox VE · iDRAC

Virtual machines, Linux containers, workload migration, and a separate management controller for when the operating system has other plans.

TARDIS & THE SMALL STUFF

Not everything needs a rack.

Beelink ME Mini · Debian · Docker
Raspberry Pi 4 & 5 · Always-on services

Tardis hosts this site. The Pis keep lightweight infrastructure useful while the bigger machines get to sleep. Right-sized beats always-on-for-no-reason.

WHAT I ACTUALLY RUN

I build what runs on it, too.

Pick a service. There is usually a deployment decision, a failure mode, and a note to future me behind it.

SOURCE CONTROL / MY OWN PLATFORM

Yes, I run my own GitLab.

GitLab CE on TrueNAS, with ZFS-backed configuration, application data, and logs. Personal projects and infrastructure code have a home I operate myself. Port collisions, memory pressure, and upgrade planning come with the territory.

GITLAB CEZFSDOCKER COMPOSE
More of the lab work ↗

If it’s worth doing once,
it’s worth automating.

AMATEUR RADIO / RF / BUILT BY HAND
W5QJM_

AMATEUR EXTRA

BUILDTUNELISTENCONNECT
THE HARDWARE STORY GOES PAST ETHERNET

Radios. Antennas.
Around the world.

I’m an Amateur Extra, callsign W5QJM. I build my own radios and antennas, and I’ve made contacts around the world running barefoot.

No amplifier. Just the station, the antenna, and figuring out how to get a signal where it needs to go.

AMATEUR EXTRAHOMEBUILT RADIOSANTENNA BUILDINGBAREFOOT / NO AMP

Same curiosity. Different kind of networking.

Visit my shack at w5qjm.com ↗
03 / I MAKE GAMES, TOOGODOT · GDSCRIPT · RELEASE ENGINEERING

The game is the fun part.
Shipping it gets a pipeline.

Mushrooms, forests, unstable magic, and a ball with deployment docs. Different ideas, same instinct: make it work, then stop doing the repeatable bits by hand.

CACOPHONIC GAME STUDIOS

The games have a home. Go have a look.

Find my games on itch.io ↗
PROTOTYPE / GODOT

Regrove

A peaceful idle game about bringing a forest back. Progression, persistence, and a lot of “what if?”

Growing the systems before the forest.
PROTOTYPE / GODOT

Arcanomaly

An arena roguelite built around spell reactions and increasingly questionable magical decisions.

The laws of magic are suggestions.
GODOT / PHYSICS + IDLE

EchoBound

A ball, closing rings, upgrades, and an unreasonable amount of thought about making numbers go up.

Yes, the ball gets engineering.
COMMIT → BUILD → SIGN → PUBLISH

Apparently games need release engineering too.

  1. 01Versionrelease-please
  2. 02BuildGitHub Actions + Godot
  3. 03SignAzure · Windows binaries
  4. 04Publishbutler → itch.io

Versioned releases move through GitHub Actions builds, Windows code signing through Azure, and itch.io publishing through butler. The goal is to make a release a repeatable workflow, not an evening of remembering which files to upload.

An explainer of my game release workflow. Selecting a track does not run a build or publish anything.

SOUND / ANOTHER KIND OF SIGNALMUSIC PRODUCTION · HARDWARE · HANDS ON

I make music, too.
Meet Echyøn.

Music producer. Synth collector. Guitar player. The urge to make things does not switch off when I close the terminal.

SEAN BABER / THE OTHER OUTPUT
Echyøn_
HARDWARE → DAW → YOUR HEADPHONESECHYØN / MUSIC
Listen on Spotify ↗

Also on YouTube Music, Apple Music, and other streaming platforms.

INSIDE THE SETUP / PICK A LANE
01 / PRODUCTION

MPC One. Ableton. Make something.

My production setup pairs an Akai MPC One with Ableton as my DAW. Hardware under my hands, a session on the screen, and room to build an idea into a track.

AKAI MPC ONE / ABLETON

Same hands. Different kind of build.

04 / SELECTED ENGINEERING WORKTHE PROBLEMS BEHIND THE TOOLS

Less hand waving.
More hands on.

Cloud foundations, delivery pipelines, the awkward migration, the missing signal. A few of the problems I’ve spent time working through.

05 / THINK IN CONNECTIONSILLUSTRATIVE ARCHITECTURE · EXPLORE THE BOUNDARIES

The interesting work
is between the boxes.

A conceptual model of engineering patterns from my work. No live infrastructure or production data is connected.

06 / BREAK SOMETHING. LEARN SOMETHING.BROWSER-ONLY RELEASE SIMULATION

Ship it.
But give it a way back.

Walk a release through the gates. Inject a readiness failure to see why deployment and successful rollout are different milestones.

RELEASE WORKBENCH
  1. 01BuildImmutable artifact
  2. 02TestBehavioral checks
  3. 03PolicyDeployment gates
  4. 04DeployCandidate revision
  5. 05VerifyReadiness checks
READY TO BUILD
❯ release plan
No candidate deployed. The stable revision is serving.
07 / HOW I THINK

Pull it apart.
Figure it out.

01

Get your hands dirty.

Read the docs. Build the thing. Then figure out why reality disagrees with the docs.

02

Leave a trail.

Write it down. Make it runnable again. Future me has enough problems without guessing what past me did.

03

Keep making it better.

Get it working. Understand the rough edges. Come back and make the next version better.

● ● ●explore.shbrowser sandbox / no shell access
08 / TAKE A LOOK AROUND

A résumé with
a command line.

Try help, stack, projects, or principles. ↑ and ↓ recall commands.

Welcome. This terminal explores the portfolio; it does not execute system commands.
Type help to get started.
THE PROFESSIONAL VERSION

From the hardware up.
All the way to shipped.

The hardware, the platform, the software, and how I connect them.

View my résumé ↗

Where to?

↑ ↓ to choose · Enter to open · Esc to close