Skip to content
Riel St. Amand

Riel St. Amand · Senior software engineer

I pick up new stacks fast, ship, and write down what happened.

Production ML, full-stack product, native tools, and research across healthcare labs, Medicaid, a Fortune 100 support bot, a tire factory floor, Google Cloud, SAP data, and the NFL. The chart below has all 25 projects, plotted by how deep each one went.

The range

25 projects · 5 industries · 7 disciplines

Range chart. 25 projects across 5 industries and 7 disciplines. Teaching: 5; Interfaces: 12; Back end: 12; Data: 9; ML & AI: 14; Systems: 2; Research: 3. Each project links to its writeup.

Depth

Four places it goes all the way down.

› cut the first 3 s and tighten the pausesagent CLI · over MCP0:000:020:040:060:080:100:120:140:160:18V1A1CCHISTORYagent  ripple delete · 4 pausesagent  trim head · 3.0 syou    import interview.mp4Ctrl+Zundoes either
Illustrative timeline. The agent calls the same operations you do, so its edits land on your undo stack.

Tools & AIactive

Kinewright

A native video editor in Rust, for Windows and Linux, whose chat panel drives the agent CLI you already pay for. The agent calls the same operations you do, so every edit it makes is undoable — four crates behind two trait boundaries, FFmpeg and wgpu underneath.

Ctrl+Zundoes the agent’s edits, same as yours

Read the writeup →

010203040cycle →ΔRnthresholdMS2RPNORF1abS
Illustrative well. MS2 gates the call; any of N, ORF1ab, or S crossing threshold makes it a positive.

Healthcareproduction

Galen

Five small networks, one per PCR target, gated by the same rules a clinical lab uses — and all of it running in the browser on a lab workstation, reading a 384-well plate in under a second. It had zero reported errors, while human technicians corrected about 4% of their own calls.

1M+production diagnoses, zero reported errors

Read the writeup →

Feature-free win probabilityRandom walkChronos-BoltTimesFM-2.5TiRexChronos-2 (univariate)GBM, raw clock covariatesMLP, clock featuresGBM, exact kneel marginChronos-2, clock covariatesGBM, late-game region upweightedGBM, deductive label upweightedOracle (deductive rule)0.950.971.00residual 0.03
From the paper: P(leading team wins) at 398 out-of-sample clock-kills. The 0.03 gap is the known answer no average-loss learner recovers.

Sportspaper

Forecasting with a known answer

A forecasting benchmark where the answer is known by arithmetic. At the clock-killing first down, win probability says 0.97 and the clock says 1.00. Thirteen methods, foundation models included, and none that learns from average loss closes the gap.

0.03the residual no average-loss learner recovers

Read the writeup →

coreFirestore · AuthDraftmockingboard.appDiscord botfull mocks in-serverFantasy$1 a leagueStatsDuckDB in the browserResearchnext
One TypeScript monorepo. Every app shares the core package, so they improve together.

Sportsactive

MockingBoard

A Discord bot that grew into four live sites for people who treat the NFL Draft as a year-round craft. There are no ads and no gambling. One TypeScript monorepo on Firebase and Cloud Run runs the draft platform, fantasy, a stats workbench, and the bot.

4 sitesone TypeScript monorepo, zero ads

Read the writeup →

About

The skill underneath is ramp-up speed.

I’ve spent six years shipping production systems across stacks: React and TypeScript products, Python services, .NET on a factory floor, production ML with real stakes, and lately a native Rust video editor. I land in an unfamiliar codebase, get productive quickly, ship, and then write down what happened so the next person doesn’t have to rediscover it.

I teach too: a four-hour ML workshop at KCDC, a six-part series at Core BTS, and talks at HIMSS and Dayton AI Day. In open source, I fixed a GRPO checkpoint-resume bug in NVIDIA NeMo RL (opens in a new tab) that silently zeroed KL regularization, and I maintain nflverse-ts (opens in a new tab), the TypeScript port of the nflverse.

Currently building Kinewright, and looking for senior roles where range matters more than a single job title. Here’s what I’m after.

Toolbox, from the shipped work

Languages
TypeScript, Python, Rust, C# / .NET, SQL
Interfaces
React, Next.js, Remix, egui, SVG and canvas, WebGL
ML & AI
PyTorch, TRL, vLLM, GRPO, and LoRA, TensorFlow and TF.js, Eval harnesses, Azure Document Intelligence, MCP and agent CLIs
Data & platforms
Polars and Delta Lake, DuckDB, PostgreSQL, Redis, Snowflake, Firebase, Azure, GCP and Cloud Run