Senior Software Engineer · Chicago

Hi, I'm Johnathan. I model physical systems across time and space, all the way down to risk.

I am interested in the computational modeling of physical systems, with an emphasis on spatial and temporal distributed systems, such as weather, climate, epidemiology, and more.

About me →

Scroll

Educated At

Georgia Institute of Technology
University of Washington
University of Illinois Urbana-Champaign

Selected work

Case studies →

Research · 1980–present

Decoding hurricane rapid intensification

Forty years of 6-hourly North Atlantic cyclone data, cleaned and modeled in a reproducible Python pipeline. RI defined as a ≥30 kt gain in 24 hours; annual frequency, interannual variability and trend significance tested against HURDAT2 and IBTrACS.

Python Pandas Trend statistics GitHub

Annual RI events, North Atlantic · TanStack Charts

North Atlantic basin · 1980–2024 · schematic

95W 85W 75W 65W 55W 45W 35W 25W 15W 45N 35N 25N 15N 5N

Named tracks with RI onset marked. The recurve is the exposure question: where a storm turns decides whose portfolio it touches.

24-hour wind delta

Grid 0.25°
Cadence 6-hourly
Source HURDAT2

Research · modeled study

Catching epidemic rapid growth

A seed-locked ensemble on a fictional 48-county commuting graph. Rapid growth onset defined as a ≥2× rise in 7-day incidence with Rê remaining ≥1.3 — the epidemiological analog of a 24-hour wind jump.

Python NetworkX SEIR ensemble GitHub

RGO events per ensemble season · TanStack Charts

Haven Reach · 48 counties · schematic

West mill Airport Haven University Eastgate The Reach

Commuting graph with rapid-growth onset marked. The corridor is the exposure question: which edges mix the patches before occupancy moves.

7-day incidence ratio

Patches 48 counties
Cadence Daily
Source Synthetic

Allstate · 2025 — now

Agentic systems for insurance risk

Multi-step agents on Bedrock, retrieval over insurance data, and decision APIs that actuarial teams can actually call.

AWS BedrockAgentsRAGEval

Terracon · 2022 — 2024

Strangler-fig cutover of a 15-year monolith

Anti-corruption layers, traffic shaping, and feature flags so the old system could die without a big-bang weekend.

Strangler figCI/CDTerraform

Case studies

All five →

2025 — now

Allstate

Agentic systems for insurance risk

Multi-step agents on Bedrock, retrieval over insurance data, and decision APIs that actuarial teams can actually call.

2024 — 2025

Northwestern Mutual

Latency on a financial event mesh

Millions of financial events a day. The p99 was the product. Stream layout and backpressure were the work.

2022 — 2024

Terracon

Strangler-fig cutover of a 15-year monolith

Anti-corruption layers, traffic shaping, and feature flags so the old system could die without a big-bang weekend.

2023

Johnson Controls

Edge-to-cloud building telemetry

Sensor fleets, an MQTT broker, and a time-series store. The backlog was measured in minutes. It needed to be seconds.

2021 — 2022

Uline

A nightly job that ran until morning

Enterprise Java, a 4.2-hour batch, and a coverage number that did not match the risk of changing it.

Experience

Case studies →

2025 — now

Senior Software Engineer, Allstate

Enterprise AI and risk intelligence; agent architecture, RAG pipelines, cloud-native scale.

2024 — 2025

Senior Software Engineer, Northwestern Mutual

High-throughput distributed architecture, stream optimization, resilience.

2022 — 2024

Software Engineer, Terracon

Modernization and strangler-fig migration, DevOps and quality engineering.

2023

Software Engineer, Johnson Controls

IoT telemetry and smart-building pipelines; edge integration.

2021 — 2022

Associate Software Engineer, Uline

Core enterprise backend systems, SQL tuning, automated testing.

Graduate work

The pathway →
Georgia Institute of Technology M.S. Computer Science · Computing Systems
University of Washington M.S. Applied and Computational Mathematics
University of Illinois Urbana-Champaign M.S. CyberGIS & Geospatial Data Science
AWS Generative AI Developer AWS Business Strategist