Skip to content
james@ponwith: ~
➜ ~ ▋

Hi, I'm James. Principal Software Engineer.

I design and build resiliency systems for real-time payments, then experiment on the side with ML, analytics, and projects rooted in sport and motion.

Technology — Go • AWS • Observability Finance — Payments • Analytics Sport — Tennis • Motion • Hardware

Dashboard of systems & side projects.

Use the filters to view projects through the lens of technology, finance, or sport.

Production System
Go AWS — ECS, Route 53 CloudWatch & New Relic

Resiliency Engine — Card Authorizations

Highly concurrent Go engine that auto-detects failures across multi-tenant ECS clusters and routes live traffic to healthy cells — protecting card authorization systems processing $780B.

  • Cut MTTR 95% to ~1 minute; protects $2M+ net income/yr.
  • Zero Sev-3+ incidents across 12+ shielded services over the past year.
  • Platform spans 8 tenant apps, 15+ teams, 3 orgs — built as sole lead engineer.
  • Strict cross-region consistency via DynamoDB MRSC, conditional writes, and a custom peer-to-peer lease protocol.
Platform & SRE

Kubernetes Platform — Mission-Critical Payments

Management and ownership of Kubernetes infrastructure for Capital One’s mission-critical payment processing systems, including cluster operations, reliability, and deployment workflows across multiple environments.

Kubernetes Terraform Jenkins ArgoCD Splunk · New Relic · OTEL AWS
card-auth-saga run: a $400 hold, a $250 partial capture that survives an injected crash without double-posting, rewards points, a $50 refund with its points clawed back, a resent refund ignored, and the ledger balancing to zero
Payments & Workflows

card-auth-saga — Card Authorization Saga

A card issuer's backend as a Temporal saga in Go: authorize against the limit, place a hold, then capture on a signal or release when the hold expires. Every money movement posts to a double-entry MySQL ledger that always sums to zero, idempotency keys mean retries never double-post, and reversals and refunds are compensating entries rather than rewrites of history. Partner rewards points accrue on settlement and are clawed back on refund.

Go Temporal MySQL Double-entry ledger Sagas
View on GitHub →
Phux terminal control plane demo
Agent Infrastructure

Phux — Terminal Control Plane

Share real terminals with your agents: terminals as addressable objects on the wire, so humans, GUIs, and AI agents observe and control the same live session from identical byte streams.

libghostty Wire protocol WebAssembly WSS / QUIC MCP
Interactive Science

Theory Simulations

A browser atlas of 53 live models of big ideas in physics and math — double-slit interference, Bell's theorem, the three-body problem, Hawking radiation, Turing patterns, and more.

JavaScript Canvas Physics
Launch the simulations →
Failover demo: primary provider killed mid-traffic, requests shift to backup with zero client errors
AI Infrastructure

LLM Resiliency Router — Go

Reverse proxy that keeps LLM traffic flowing through provider outages — health cells with ejection and half-open probes, priority failover mid-traffic, a quality canary, and hedging for stalled streams — zero client-visible errors. The card-payments resiliency pattern, applied to AI serving.

Go OpenAI-compatible Failover Health cells Chaos harness
Live DORA metrics → The writeup →
Reinforcement Learning

Brax Tennis RL — JAX

A PPO agent taught to play tennis in Google's JAX physics engine: 95% interception, 72% returns over the net, and self-play rallies that grow from 1.77 to ~1.95 net crossings across two generations. The collegiate tennis player taught an agent to play — reward hacks and all.

JAX Brax / MJX PPO Self-play D1 tennis
The three-part writeup →
RocketLab: the dashboard steps through RS-25, Raptor 2, Merlin 1D, RL10B-2, Vulcain 2, a methane aerospike and a rotating detonation engine, showing Isp, mass, wall temperature and the thrust-chamber contour for each
Simulation

RocketLab — Rocket Engine Design Platform

A liquid rocket engine simulator and optimiser that runs in your browser. CEA-style equilibrium chemistry, regenerative cooling with real-fluid coolants, turbopump power balances from gas-generator to full-flow staged combustion, aerospikes and rotating detonation. It matches the RS-25, Raptor 2, Merlin 1D and Vulcain 2 within 2% on Isp, and ranks 34 engine architectures by payload.

Python NumPy · SciPy Pyodide Thermochemistry Optimisation
Design an engine →
ramp-graph benchmark table against upstream LemonGraph: 5.2x faster node inserts, 7.7x faster batched edge inserts, and 14 to 17x faster lookups and multi-hop queries on a 1M-node graph
Database · Systems

ramp-graph — Graph Database in Rust

A Rust rewrite of the NSA's LemonGraph: a log-structured, transactional graph database on LMDB with point-in-time history, its LGQL query language and a REST service. 5.2–7.7× faster inserts and 14–17× faster queries than upstream on a 1M-node graph, and ahead of LadybugDB (Kùzu) on every query benchmarked. Steered expansion explores graphs too big to copy, using 5.4× fewer edges than BFS on the ICIJ Offshore Leaks graph.

Rust LMDB Query engine REST Benchmarking
Read the code →
Simulation

Power Unit Forge — F1 Engine Design Lab

An Iron Man-style holographic workbench for designing a Formula 1 1.6 L V6 turbo hybrid. Tune compression, ignition, boost, trumpet length and ERS deployment, and a physics model answers with knock margin, fuel-flow limits, turbo balance, temperatures, engine life and lap time. Run the dyno, explode the engine, switch between the 2014–25, 2026 and no-rules rulebooks, or let the optimizer find the fastest legal design.

JavaScript Three.js Engine physics Web Audio
Build an engine →
Simulation

AEGIS — Drone-Swarm Protective Dome

A swarm of mini drones holds a hemispherical shell around an asset and intercepts inbound threats. Noisy radar feeds IMM trackers, Hungarian assignment sends the best-placed drone to capture each hostile, and the shell re-spaces itself to close the gap. 448/448 hostiles captured across a 16-seed sweep, with 3D replays of every scenario.

Python NumPy · SciPy IMM tracking Hungarian assignment Three.js
Watch the replays →
3D Visualization

Strata — Earth, Layer by Layer

Interactive 3D cutaway of all 13 layers of the Earth, from the exosphere down to the inner core. Hover to probe temperature, pressure and density at any depth, switch to data views, or peel layers away. Trigger an earthquake and watch seismic rays refract through the interior, leaving the shadow zones that revealed the liquid core.

Three.js GLSL shaders Seismic ray tracing Vite GitHub Pages
Journey to the centre →
Recommender Systems

Music RecSys Ecosystem — Spotify MPD

Five apps on the Million Playlist Dataset, each built to answer a question the last one raised: natural-language playlist generation, a cold-start project killed at its own gate, sequence-aware continuation, a catalog exposure audit, and a feedback-loop simulation whose result inverted its own hypothesis. The errors stay on the record.

Python scikit-learn RRF · MMR · beam search Exposure audit Simulation
Findings & code →
Web App

Court Finder — All About Tennis

Mobile-first map of public tennis courts across all 50 states + DC: clustered markers, distance-aware "near me" search, surface and lighting filters, and per-facility detail with directions. Data pulled offline from OpenStreetMap and NYC Parks and served as static JSON.

React TypeScript Leaflet OpenStreetMap GitHub Pages
Find a court →
Resy Snipe Bot demo preview
Automation

Resy Snipe Bot — NYC Reservations

Personal Go-based bot that monitors Resy availability and automatically snipes hard-to-get restaurant reservations in New York City when slots open.

Go HTTP / APIs Scheduling Automation Watch demo gif ↗
Simulation
Python PyTorch PyGame

Self-Driving Car Simulation — PyTorch

Simulation using Python, PyTorch & PyGame to explore navigation, decision-making, and control logic in a constrained environment. A playground for thinking about stability and feedback.

Watch demo video ↗
CI/CD & Validation

Qualcomm — Hardware Validation Pipelines

Validated 5G/4G/3G modem subsystems on an FPGA farm — 3 timing & power bugs caught pre-tape-out, 7 production SoCs shipped, and triage time cut 90% via automation and visualization pipelines.

Python Trace32 Jenkins Splunk Cron Emulation platform
Tello Drone senior project
Computer Vision

Tello Drone — YOLO & OpenCV

DJI Tello controlled via Python APIs, with YOLO & OpenCV for face tracking and motion-aware control.

Python OpenCV YOLO
All About Tennis website
Ecommerce & Brand

All About Tennis — Scottsdale

Modern web presence, media, and merchandising for a family-owned tennis & pickleball shop.

Shopify Analytics Tennis
All About Tennis iOS app: the shop home screen, racquet stringing with string choices, and the Court Finder list of Scottsdale courts
Mobile App · App Store

All About Tennis — iOS App

Designed, built and shipped the shop's native app solo. A live Shopify storefront with one-tap Apple Pay checkout, racquet stringing orders with a push when the racquet's ready, back-in-stock and price-drop alerts, a map of every tennis and pickleball court in the US, and a shot tracker that counts your session from the microphone. Supabase handles analytics and notifications. Source is private.

React Native Expo TypeScript Shopify Storefront API Supabase
Get it on the App Store →
NFT & Creative Coding

Phantom Barons — Cardano NFT Collection

Personal project generating a randomized NFT collection on the Cardano network, with a Python art pipeline and a React front end, storing assets and metadata via IPFS.

Python React Cardano IPFS Generative art
Motion & Web ML

PoseNet — TensorFlow.js

In-browser pose estimation to track human motion in real time via TensorFlow.js.

JavaScript TensorFlow.js
Audio & Hardware

Music Visualizer — Arduino & LED Strips

Side project using Arduino, acoustic sensors, and programmable LED strips to transform music into real-time light patterns — effectively turning a room into a live visualizer.

Arduino C / C++ Acoustic sensors LED strips Real-time visuals
TECH FINANCE SPORT

Systems thinker with a sports engine.

I'm a systems-minded engineer with a background in competitive tennis and a dual focus on Computer Science and Finance. That mix shapes how I think about risk, reliability, and the stories data can tell.

I care about architectures that stay composed under load: multi-AZ routing, health evaluation, observability, and controlled failure modes. I also enjoy projects that connect code to the physical world—whether that's motion, audio, sport, or people using a product in real time.

Resiliency, SRE, and real-time systems for payments and financial flows.

Go, Python, AWS (ECS, Route 53, DynamoDB, CloudWatch), New Relic, Docker, Kubernetes, GitHub Actions.

Portrait of James Ponwith
NYC • London. Outside work, you'll usually find me on a tennis court, planning the next trip, or tinkering with side projects that mix tech, sport, and storytelling.

Let’s build something resilient.

Open to new roles, collaborations, and conversations around resiliency engineering, payment systems, analytics, and creative technical projects in tech, finance, and sport.

Email me