Hi, I'm Ethan K. Francis

Platform Engineer I build and run the systems teams depend on — automation, reliability, and clear alerts when something breaks Automation, Observability, and Machine Learning Go, Python, and automation — plus hands-on learning for running models in production Collaborate, Learn, and Ship Work That Matters Passionate about high-impact projects with talented, collaborative teams

Writing

Demystifying ADRs A simple way to write down why you made a big decision — so you can actually find the answer later. Atomic Habits — systems over goals You do not rise to the level of your goals. You fall to the level of your systems. Converging a Frankenstein homelab Routing my mixed hardware homelab at Layer 3 — quorum, return paths, and SSH headaches

I'm currently working on…

Media Vertical Modernization Leading how we modernize legacy media workflows without stopping production Concourse to RabbitMQ Pipeline Migration Moving a Go pipeline from CI orchestration to message queues with a safe place for failed jobs Learning C++ A lower-level language — more control, more responsibility, worth understanding even if it is not your daily driver Learning RabbitMQ A message broker — like a smart inbox that routes work to the right place and handles things that go wrong Learning Kafka An event log — write once, many readers, history stays around so you can rewind Logpipeline Small C++ program that parses structured log lines into fields you can search and alert on HedgeDoc on Kubernetes Self-hosted collaborative markdown — local Docker setup plus Kubernetes deployment manifests

I'm planning to work on…

Cache-Aside API Go API that checks Redis first, falls back to the database — with metrics on hits and misses Search API Python search API backed by OpenSearch — index documents and run full-text queries Event Patterns Hands-on Go demos for RabbitMQ and Kafka — queues vs event logs, side by side

I've also worked on…

This is a non-exhaustive list and omits client projects due to contract reasons.

Edge Observability with Prometheus Custom Cloudflare metrics exporter — fewer false alerts, clearer picture of edge traffic Ticket Queue Manager and PATRA Merge duplicate alert tickets automatically; renew expiring pipeline tokens before they break builds OpenSearch Migration at Scale Led ElasticSearch to OpenSearch migration with single sign-on and staged rollouts per environment RabbitMQ Video Processing Pipeline Queue-backed video resize API — accept requests fast, do heavy work in background workers Kubernetes Load Balancing and Hedgedoc Internal load balancers for Kubernetes traffic plus self-hosted shared markdown docs Kube Pod Self-Healer Watches failing Kubernetes pods and auto-fixes common problems like crash loops and out-of-memory kills Observability Toolkit Custom metrics plus deliberate failure tests to prove monitoring and alerts actually work ML Production Pipeline Train a model, serve predictions, and get alerted when live data drifts from what it learned on