Wark?
Chocobo

Achievement Unlocked!

Final Fantasy Mode Activated

Portland, OR · Data Platform, Engineering, Analytics

Data platforms
teams want
to use.

I'm Alex Norum. I've spent fourteen years working across data platforms, data engineering, and analytics. Most recently I owned LegalZoom's data platform end to end and led the team that ran it. Simple systems where the right way is the easy way.

01 · What I do

Data platform

I run the infrastructure, governance, and self-service tooling that data teams work on top of.

Data engineering

I write pipelines with Airflow, Spark, and Kafka, plus the testing and monitoring that keeps them reliable.

Analytics

I started my career as an analyst. Data modeling, metrics, and reporting are still part of how I work.

Team leadership

I led the data platform team at LegalZoom: hiring, mentoring, and planning, while continuing to write code.

AI and automation

I build AI agents, MCP servers, and LLM tools on top of the data platform.

02 · Experience

Head of Data Platform LegalZoom · 2023 - 2026

Led the small team that owned LegalZoom's data platform: Snowflake, Airflow on Kubernetes, dbt, Terraform, and the self-service tooling around all of it.

  • Automated data access so teams got what they needed without tickets
  • Built AI tooling that answered platform support questions for the team
  • Automated the governance and privacy reviews
Principal Data Engineer LegalZoom · 2021 - 2023

Rebuilt LegalZoom's platform from a legacy stack to Kubernetes-native Airflow, Terraform-managed Snowflake, and GitOps for everything.

  • Moved the platform to Kubernetes with everything managed as code
  • Wrote the platform standards and documentation the team still uses
  • Established self-service patterns so domain teams own their own data
Lead Data Analyst → Software Engineer, Data Platform New Relic · 2018 - 2021

Started as a data analyst and moved to the data platform team. Owned the platform roadmap, built blue/green deployments and testing frameworks, and brought dbt to the org.

  • Introduced dbt, the first adoption across the data org
  • Built Spark pipelines ingesting 10+ sources into Delta Lake
  • Clickstream sessionization and self-service tooling for analyst teams
Senior Business Analyst Oracle · 2013 - 2018

Built analytics for R&D, manufacturing, and supply chain, then moved Oracle's worldwide SCM systems to the cloud.

  • Cut forecasting pipeline runtime from 4 hours to 20 minutes
  • Built predictive models for manufacturing capacity planning
  • Led on-prem to cloud migration for worldwide SCM

University of Oregon, Information Systems and Operations Management

03 · Fun projects

Things I build on nights and weekends.

PDX Train

Live

Is the train blocking the intersection?

  • Kafka
  • Postgres
  • k3s

Portland freight trains park across SE crossings, so this tells me before I leave the house. ODOT camera frames run through a Kafka pipeline on my k3s cluster for now, with Postgres and Cloudflare serving the live board.

  • Watching 6 cameras every 30 seconds since Aug 2026
  • Per-camera trained image classifier in production
  • ODOT does not archive its footage, so this is the only record

Sightread

Live

Sight-reading practice for piano with a MIDI keyboard.

  • Astro
  • React
  • VexFlow
  • Web MIDI

Generates random sight-reading exercises for piano that still follow musical rules, from easy to brutal. Plug in a MIDI keyboard and it checks what you played, note by note.

  • Standard notation rendered in the browser
  • Note-by-note feedback from a MIDI keyboard
  • Same seed always generates the same exercise

SMO Save Editor

Stable

Rebuilt a lost Super Mario Odyssey save.

  • Python
  • binary formats

My nephew lost his Super Mario Odyssey save, so I built a save editor to rebuild his moon collection. It grew into a full editor covering every moon in every kingdom.

  • Every moon editable by its in-game name, with search
  • Edits patch only the bytes it understands and leave the rest alone
  • Repairs saves whose stored moon counts no longer match the moons collected

Homelab

Active

A place to break things.

  • k3s
  • ArgoCD
  • Strimzi
  • MinIO
  • Tailscale

A two-node k3s cluster, swagman-1 and swagman-2, plus a Raspberry Pi 5 running Home Assistant. Tailscale and Cloudflare tunnels for access, Strimzi Kafka and MinIO for the data side. It hosts PDX Train and whatever comes next.

  • GitOps deploys via ArgoCD, everything in version control
  • Home Assistant with Zigbee and Lutron Caseta
  • Keeps the PDX Train pipeline running

mara-bot

Deprecated

A chatbot of my dog.

  • Python

A chatbot version of my labradoodle Mara that lived on an earlier version of this website. Retired, but preserved for the record.

04 · Stack

Snowflake Airflow dbt Kafka Terraform Kubernetes AI Agents & MCP

Core: Python · SQL · Airflow · Snowflake · dbt · Spark · Kafka · Flink · Kubernetes · Terraform · AWS

Also: Delta Lake · Postgres · Docker · GitHub Actions · GitOps

AI: LLM tooling · MCP servers · Agents · Slack bots · Claude Code and Codex every day

Honest levels: TypeScript and React: can build things, not expert

05 · How I think

  • Sit with the people using the platform. When they work around it, they're telling you something, so meet them where they are.
  • Good guardrails beat good gatekeepers. Assume anything that can go wrong will, make the paved road the easiest road, and have a process for exceptions.
  • Learn the problem deeply, then build the tool that lets the expert make the call. Making that call easy and safe is still on you.
  • A platform you're afraid to change is already legacy. Lock down what's dangerous and keep the rest flexible, because the tools and the needs move fast and the platform has to move with them.
  • Take the problem apart before you pick the tool. I like the new tool as much as anyone, and a plain script still wins more often than it should.
  • There's always something to learn, so make the platform the place it gets written down. It should document itself, and the people using it should be able to add what they know. Lessons nobody writes down get learned twice.

06 · Off the clock

12 Countries
30 Trips
10× Japan
  • Piano A few years in, taking lessons. Film scores, jazz standards, classical, some Ghibli.
  • Running Mostly to clear my head, sometimes to train. I log every run either way.
  • Golf Trying to get better, tracking my misses, and regretting most 3-woods.
  • Snowboarding Winter weekends on the mountain.
  • Board games The shelf keeps growing.
  • Reading Sci-fi, philosophy, and whatever's been on the nightstand too long.
  • Mara A labradoodle. She had a chatbot once.
WORLD
LOADING WORLD...