Landon Armstrong

I build LLM evaluation tooling — and fine-tune the small models that do the evaluating.

I'm Landon Armstrong, based in Issaquah, WA. M.S. in Computer Science from Saint Martin's University (Dean's List, 2019–2024). My work is ML infrastructure: harnesses that measure whether a model is getting worse, the training code behind the models doing the measuring, and the cloud plumbing that carries both. Two of those models are published on Hugging Face — one of them beats a public reward model 2.4× its size on the distribution it was built for.

I build full-stack products too, and still do: a deployed dental SaaS with dual-role auth and a Stripe subscription integration that is wired end to end but has never processed a live payment, a clinical-document API whose AWS infrastructure is written in Terraform, and a horror game that shipped on Steam. I trained in CS through a B.S., an M.S., and a graduate teaching assistantship, and I'm building in public while I work outside the field. Every number on this page comes out of a committed results file or model card I can show you — including the ones that didn't go my way.

GitHub · LinkedIn · la.armstrong19@gmail.com · Resume (PDF)

Portrait of Landon Armstrong

Selected projects

2026
ML serving

reward-serve

Solo — inference serving for my own published reward model

A continuous-batching inference server for the DeBERTa preference model I trained, with a load harness, OpenTelemetry tracing, a measured SLO, a multi-process router with fault injection, and a quantization study — all on one machine, with every published number backed by a committed artifact and the command that produced it. The findings went the wrong way on purpose: batching never pays on this CPU (forward time is super-linear in batch size), int8 quantization flips 311 preferences per 1,000 pairs and was ruled out, and an adversarial cold-clone review — which returned an "interview" verdict — found that every p99 I had published was a single observation. 259 tests; the three defects that review found were each closed with a regression test that fails on the pre-fix code.

Python · FastAPI · PyTorch · OpenTelemetry · Prometheus · hypothesis
2026
Studio tooling

Asset Provenance Registry

Solo — with a companion workflow-packaging tool

When a pipeline generates thousands of images and videos with diffusion models, nobody can answer "what made this asset, and what came from it?" This registry can: every asset gets a SHA-256 content identity and its generation metadata, derivations form a queryable DAG, and the whole graph exports to an OpenUSD stage — provenance in customData, lineage as USD relationships. Run against 1,943 real files from my own pipeline, it registered 1,791 assets and 934 derivations in 110 seconds — and found that 0 of them had a recoverable model, because generation parameters were never persisted per file. It records that as null rather than guessing. It also reads embedded C2PA manifests — a scan of the same corpus found only 50 of 1,791 assets carry one, all from the pipeline's two publish paths — and ships an artist-facing browser: a thumbnail grid with provenance filters and a clickable lineage graph, plus an apr demo command that takes a reviewer from install to a working lineage view in under two minutes. The companion project, comfy-workflow-pack, closes the loop from the other end: it packages a ComfyUI graph as a versioned pack with a validated artist-safe parameter surface, and was executed end-to-end against ComfyUI 0.32 — the rendered output registered into this registry and confirmed in a re-opened USD stage. 144 + 118 tests between the two.

Python · OpenUSD (pxr) · SQLite · ComfyUI API · pytest
2026
Cloud / healthcare

MedInsight API

Backend & cloud

A clinical-document API: upload a note, get back a summary, extracted diagnoses, or a risk assessment from a LangGraph ReAct agent with four tools over the document store. Document text is encrypted at rest with Fernet, every document and analysis request is written to an append-only audit log (DynamoDB when configured for AWS, JSONL locally). Infrastructure is four Terraform modules — networking, security, storage, ECS Fargate — and the deploy pipeline authenticates over OIDC so no long-lived keys sit in the repo. To be exact about what that means: I wrote the infrastructure and the pipeline, but I have never run them against a live AWS account. The CD workflow has no successful run, and I exercised the S3, DynamoDB and KMS paths against LocalStack rather than pay for a Fargate cluster to sit idle behind a portfolio project. 40 pytest tests cover auth, the document service, encryption round-trips, and the audit trail.

Python · FastAPI · LangGraph · AWS ECS · Terraform · DynamoDB · Docker
2026
AI platform

AgentForge

Full-stack

Build an agent, point it at an OpenAI or Anthropic model, give it tools, and talk to it. Tokens stream over SSE, and a sidebar traces every tool call with its input and output — that trace is the part I actually use, because a wrong answer is usually a wrong tool call, and without it you are guessing. A single prompt can also be fanned out across several models to compare latency side by side. Search is DuckDuckGo's keyless Instant Answer API, which returns nothing useful for narrow queries; the tool says so rather than inventing an answer.

Next.js 16 · React 19 · TypeScript · Prisma · SQLite · OpenAI · Anthropic · SSE
2026
Full-stack SaaS

DentaVision

Solo developer

A patient-facing layer for dental treatment plans, built out of my day job coordinating patient care. It deliberately does not compete with a practice's existing software: the coordinator scans, uploads, or types in the plan the practice already produced, Claude parses it into plain language, and the patient gets one simple view of what is recommended, what is urgent, and what they have already had done, on an interactive SVG tooth chart. Working from an upload rather than a practice-management integration is the product decision I would defend hardest — it means a clinic can adopt it without waiting on their software vendor. 20 Jest tests cover the auth and API layer, and a GitHub Actions pipeline gates every deploy — backend to Render, frontend to Vercel.

DentaVision clinic dashboard showing patient counts, plan coverage, and treatment-acceptance metrics
React · Node.js · Express · MongoDB · Claude API · JWT · Jest
2026
Architecture showcase

Shorts Factory

Solo developer · source private by choice

An autonomous short-form video pipeline that runs a weekly production window with nobody at the keyboard: a local LLM drafts the script, Edge TTS voices it, FFmpeg composites it, RealESRGAN upscales it, and it publishes itself to YouTube on a schedule. The parts I would actually defend in a review are the operational ones — a GPU lock so two render jobs can't fight over the same card, and a scheduler that runs shifts unattended and recovers on its own. It is where I learned what actually breaks when a pipeline has to run without anyone watching it.

Python · Ollama · Gemini · FFmpeg · RealESRGAN · Flask · YouTube Data API
2025
Published on Steam

Echoed Nights

Lead developer & director

First-person Unity horror game, shipped on Steam with full ownership from concept through QA — my graduate capstone. Enemy AI in the release build runs on Unity's NavMesh as a hand-placed waypoint patrol that commits to a chase once you are inside a 20-unit radius. A coroutine rewrite with random-point wander and a back-away-when-crowded branch is in Monster.cs but commented out — it never made the build, and I had described it here as though it had until I re-read the file. Enemy behavior was originally scoped as reinforcement learning and cut when the training budget proved unrealistic; the capstone report keeps that decision on the record rather than quietly reframing it.

Echoed Nights gameplay — a dark basement room with a checkered tile floor, lit by a single flickering fluorescent tube
Unity 2022.3 · C# · NavMesh · Steamworks.NET
2023
Team lead

WAVets2Tech Portal

Group manager & front-end developer

Led a team of four through the full SDLC building a veteran-to-tech career platform for Saint Martin's University — requirements through client delivery. An ASP.NET Core REST API over SQL Server with Entity Framework Core, with a React client hosted inside the same project, covering job listings, veteran profiles, and an employer directory. The weight of the code is the C# side — six controllers and seventeen EF Core models; the React layer is a single-page client, not a large front end.

C# · ASP.NET Core Web API · Entity Framework Core · SQL Server · React

Writing

2026
Measurement

Every p99 in my benchmark was the slowest request

A 72-cell CPU batching sweep with a clean finding — and a reviewer's one question that exposed it: nearest-rank p99 returns the maximum whenever n < 101, and my cells had 24–94 successes. The arithmetic was exact, the label was misleading, and the same repo already carried the right caveat in a different document.

2026
Measurement

My reward model beats a model 2.4× its size. It also scores at the random floor.

A 184M Bradley-Terry preference model at 0.7026 pairwise accuracy against a 435M public baseline at 0.6009 — and 25.3 on RewardBench 2, which is chance. Publishing the pair is what makes the first number believable. Plus the encoding fix that nearly doubled AUC while accuracy did not move at all.

2026
Measurement

I measured C2PA coverage on 1,791 AI-generated assets. It was 2.8% — and that's not a C2PA failure.

What a content-addressed provenance registry found when I ran it against my own media pipeline: 0 of 1,791 assets with a recoverable model, 50 with a C2PA manifest, and one poster frame that was the exact bytes of six others. C2PA marks what ships; lineage tracks what was made; the intermediates belong to neither.

Experience

2024 – present

Patient Care Coordinator

425 Dental — Bellevue, WA
  • Generate monthly KPI reports for executive leadership; identified scheduling inefficiencies that improved provider utilization across a 10+ provider practice.
  • Manage patient recall workflows and front-end data systems — clinical experience that directly shaped DentaVision's product requirements.
2023 – 2024

Graduate Assistant / Teaching Assistant

Saint Martin's University
  • Conducted code reviews and 1:1 debugging sessions for 8+ students per semester across data structures, algorithms, and software engineering coursework.
  • Designed project rubrics and evaluated student implementations of data structures, graph algorithms, and relational SQL.
2022 – 2023

Sales Service Expert

24HR Fitness — Issaquah, WA
  • Exceeded monthly enrollment targets through consultative selling; onboarded new members and maintained long-term retention relationships.

Skills

Languages
Python, JavaScript / TypeScript, C#, SQL, R
ML
PyTorch (hand-written training loops), transformer fine-tuning, Bradley-Terry reward modeling, temperature calibration, eval-harness design, Hugging Face Hub
LLM systems
Claude & OpenAI APIs, LangGraph agents, tool calling, SSE streaming, RAG pipelines, ChromaDB, sentence transformers
Cloud / infra
Terraform, Docker, GitHub Actions CI/CD with OIDC, PostgreSQL, MongoDB Atlas, Vercel, Render. AWS (ECS Fargate, S3, DynamoDB, KMS) written in Terraform and exercised against LocalStack — not run against a live account
Web
React, Next.js, FastAPI, Node.js / Express, ASP.NET Core, Prisma, REST APIs
Games
Unity 3D, NavMesh agents, coroutine-driven enemy behaviour, Steamworks.NET release, game design

Education

M.S. Computer Science, Saint Martin's University — May 2024

B.S. Computer Science, Saint Martin's University — May 2023

Dean's List 2019–2024 · NCAA Track & Field 2019–2024 · Coursework in algorithms, databases, AI, cryptography, cloud technologies, and game development.

Contact

I'm looking for junior ML infrastructure, backend, or cloud roles — automating LLM evaluation is the problem I most want more of, and it's what I've spent the last year building. Happy to walk through any of the projects above in detail, including the parts that didn't work. The fastest way to reach me is email.