Skip to content
SOFTWARE ARCHITECT · DRAWING NO. 0001

I architect distributed systems that hold up at 3 AM.

Two careers, one instinct: design for the load before you draw the details. I design config-driven platforms, modernize the legacy systems they replace, and build the AI tooling my team works in.

OPEN TO STAFF / PRINCIPAL LAS VEGAS, NV · REMOTE
FIG. 01 · DOCUMENT PIPELINE SIMPLIFIED SCHEMATIC SHEET 01
SOURCES EMAIL INTAKE EMAIL DAG PATTERN A COOKIE SESSION SESSION DAG PATTERN B BROWSER AUTOMATION BROWSER DAG PATTERN C ORCHESTRATOR DAG ENGINE CONFIG, NOT CODE POSTGRES JSONB CONTEXT RABBITMQ QUEUES DELAY LADDER WORKERS 10 GENERIC STAGES EXTRACT MATCH LOOKUP DEDUPE AUTH FETCH RESTRICT FALLBACK PACKAGE STORE STATELESS · gRPC RECORD + DOCS DRY RUN RECEIPT
● CONFIG-DRIVEN DAG · RABBITMQ · POSTGRES
CS-01 · PIPELINE PLATFORM CASE STUDY
SOURCE: LINKED CASE STUDIES · 2025–2026
01 / 04
535 to 10
Generic stages built to replace 535 legacy processor files

Roughly 397 of those files were per-source. Onboarding a source becomes configuration proven by a zero-side-effect dry run; the first source pattern runs end-to-end on the dev environment, ahead of any production traffic.

CS-01 · PIPELINE PLATFORM
02 / 04
1 to 5
Micronaut, carried across a live monolith

The first jump, 1 to 4 with Java 11 to 17, took the better part of a year. The second, to Micronaut 5 and Java 25, took days to walk back to green and a month to settle, because the first left a test suite and a fast build behind.

CS-03 · MODERNIZATION
03 / 04
207 of 207 keys
Production keys verified on the new CMK

A staged, gated AWS KMS migration settled by one SQL query: roughly 190 keys moved by the tool, 17 created under the new key after cutover.

CS-04 · KMS KEY MIGRATION
04 / 04
47 plus 19
Claude Code skills and agents, adopted by the team

Session memory is budgeted, not unbounded: the five latest retrospectives per layer, promoted to reference only once a pattern recurs three or more times. 49 of the 77 commits are mine.

CS-08 · AI ENGINEERING PLATFORM

Selected Case Studies

VIEW ALL · 17 →
CS-01 ARCHITECTURE

Pipeline Platform: A Config-Driven Document Processing System

A multi-service platform built to replace a legacy pipeline of roughly 535 processor files with a config-driven DAG, decoupled sub-processors over RabbitMQ, an operator SPA that owns no mutations, and a standalone JWT issuer designed for a zero-downtime route migration.

411 Commits, Sole Human Author, in the First Four Months
  • Micronaut
  • Postgres
  • RabbitMQ
CS-03 ARCHITECTURE

Modernizing a Micronaut 1 Monolith Without a Big Bang

How a modernization program carried a 13,047-commit monolith from Micronaut 1 and Java 11 to Micronaut 4 and Java 17, touching every file without a freeze or a rewrite, and why the follow-up jump to Micronaut 5 and Java 25 cost a fraction of the effort.

1 → 5 Micronaut Major Versions, Two Planned Jumps
  • Java
  • Micronaut
  • Gradle
CS-06 ARCHITECTURE

Strangling a Monolith Through Its Data Layer

How I extracted a 75-entity JPA library and a 7-service gRPC bridge from a production monolith, taking a mostly-flaky shared test suite fully deterministic along the way. One seam of a strangler migration that is still not finished.

458/458 Deterministic Tests, From a Mostly-Flaky Suite
  • Java
  • Micronaut
  • PostgreSQL
CS-08 ARCHITECTURE

An AI Engineering Platform the Team Actually Adopted

How a team-adopted Claude Code platform, forty-seven skills and nineteen agents distributed through one installer script, turned session memory into a budgeted asset instead of a fresh start every time, and the design judgment behind what it deliberately did not ship.

47+19 Skills and Agents in the Team Platform
  • Claude Code
  • AI Engineering
  • Context Engineering
CS-15 ARCHITECTURE

EventHorizon: Building a Detection Platform for the Fourth Time

A solo side project and a clean rebuild of a streaming anomaly detection platform: five Flink jobs chained over Kafka, a statistical and ONNX-served ML ensemble, Micronaut services, and LLM explanations grounded in the detection itself, running end to end on a local Minikube cluster with no production deployment and no scale test yet.

4/4 Labeled NAB Windows Hit at 0.65, Smoke Test Only
  • Flink
  • Kafka
  • Micronaut
CS-17 INFRASTRUCTURE

EKS Cluster Migrations

Upgrading three EKS clusters from v1.30 to v1.33 and migrating Karpenter to v1 across roughly 25 production services, solo, under an extended-support deadline.

3 Production Clusters Upgraded Solo
  • Kubernetes
  • AWS
  • EKS

Latest Writing

VIEW ALL WRITING · 09 →