Skip to main content

Technical Work

Open the code, rerun the pipeline, and check the numbers yourself.


What's here

These are projects you can inspect: each page links its source code, and most ship with a seed database so they run without an API key. Recent work comes first. I've kept the 2021 experiments up because they show where the statistics and software habits came from, including the ones that didn't work.

Recent systems

  • Strategy Game Market Study: 24 findings on what drives negative Steam reviews across 29 strategy games, 21 of them confirmed on 28,200 fresh reviews under a pre-registered protocol. A second pre-registered study of real-time-with-pause versus turn-based combat confirmed 59 of 66 findings across 26 games.
  • AI-Verified Economic Analytics Pipeline: joins 10 FRED series with 1,547 Hacker News stories, computes every number in Python, lets a language model write only the prose, then checks each displayed value against SQLite.
  • NLP Text Analytics: the April baseline for the market study. VADER sentiment against Steam's recommendation flag across 2,382 reviews, with the 823 reviews too thin to model flagged and kept out.
  • Spreadsheet-to-Database Consolidator: turns messy spreadsheets into SQLite, validates every row, and quarantines rejects with their source file, row number, and a reason someone can act on.

Statistics and econometrics

Algorithms and scientific computing

Recent work without public code

  • Player Research and Engineering for a Strategy Game: a matched comparison of how players rate three battle turn systems, a study of which community posts gain traction, and the agent workflow behind the engineering. A fix I directed made a pathfinding benchmark about 81% faster, and a week of timed changes made the simulated game day about five times faster.
  • A Lead CRM and Call Ranker for a Wholesale Supplier: a bilingual lead CRM built on a city's open business data, with a random-forest ranker that raised closing rate per call about 50%.
  • A client classification model. I built the classification model for a client's record-scoring system (about 57,000 records, over two million versions) by training LightGBM on LLM-generated labels. Checked once on a later held-out set, it beat a simple rule (AUC 0.74 vs 0.53) and scored each record in 72 ms (median) at no extra cost, against at least 0.8 s and ~$0.05 at list price per LLM call. More on the About page.

Related work

  • SicLib: the C++ scientific computing library behind the neural network demo, with linear algebra, numerical analysis, statistics, models, and a small neural network.
  • Articles: guides to pulling spreadsheet data out of Google Drive and choosing where it should go next.
  • Case Studies: client and studio work, with the method and result behind each one.