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
- Granger Causality and Gold Prices: stationarity, cointegration, and Granger tests used to pick forecasting variables, which then failed out of sample.
- COVID-19 and Unmet Mental Health Care: a state-level look at unmet counseling need against poverty, inequality, and urbanization.
- LSTM-CNN Trading Backtest: a 150-day backtest, the frequency-domain reasoning behind the architecture, and why the result isn't a trading strategy.
Algorithms and scientific computing
- Traveling Salesperson Solvers: five solvers on one test setup, from brute force to simulated annealing at 500 nodes.
- SicLib Neural Network vs NumPy: matched weights and an MNIST comparison to check a C++ implementation.
- Game of Life with Mutation: Conway's rules plus a small random mutation, in C++ with a Godot interface.
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.