projects
A mix of research code, engineering tools, and experiments I wanted to try. Some worked. Some mostly taught me what not to do again. A few are still private, so they do not have links yet.
I built DEDUCE to see how far a learned search policy could get on exact math and physics problems without letting the model grade its own work. The model chooses what to try; conventional verifiers check the result and produce certificates, including Lean 4 proofs. It missed all five targets I set for it. The useful part was the certificate pipeline, which generates and checks proofs without a person filling in the gaps.
An experiment in rediscovering number systems from scratch. Starting with the real numbers, FIRST LIGHT found the complex numbers, quaternions, and octonions using the same fixed test each time. It also came up empty in dimensions 3 and 16, where the math says it should. The checker uses exact integer arithmetic, and a separate implementation re-checks every result.
An attempt to train small models from rules instead of large labeled datasets. The first version looked promising until an audit showed that it had turned into a separate stochastic search for each problem. After I rebuilt the evaluation, it scored 15.6 out of 45; cvc5 scored 41. It did hold up better when the labels were noisy, which is the one result from the project I still find interesting.
I wanted OpenRocket to keep working after a rocket goes supersonic, so I forked it and added oblique shocks, Taylor–Maccoll cone flow, Prandtl–Meyer expansion, base drag, and a nose-to-tail shock geometry pass. Below Mach 1 it behaves exactly like stock OpenRocket. I checked 22 parts of the new model against published data and recorded the error for each one.
An attempt at a physical world model that keeps track of more than one explanation at a time. Its state includes the system being observed, the possible mechanism, and the condition of the instrument, so bad measurements do not automatically become bad theories. The core is dependency-free Rust with hand-written CUDA kernels and a slower f64 CPU version for comparison. I also tried some stranger ideas from information geometry, sheaves, and Clifford algebras; they stay optional unless they beat a simple baseline.
A local poker solver for the spots where existing tools get awkward: very deep stacks, multiway pots, and assorted imperfect-information edge cases. The engine is dependency-free Rust, with Python around it for experiments and CUDA for the expensive parts. Each benchmark saves the code version, inputs, and results together so I can reproduce it later instead of trusting whatever number I wrote down.
A trading tool for an in-game commodity market. It records the full order book, runs a few simple strategies, and shows me which orders are worth placing. I still place every order by hand. The whole thing uses five dependencies, no pandas, and no machine learning; when there is not enough market data, it just says so.
An earthquake forecasting model that combines a selective state-space model with a rectified-flow head. I tested it against region-fitted ETAS models across six regions. The results in the writeup are pulled straight from saved experiment files, including the runs that did not work.
I tried using conformal risk control to let an fMRI decoder abstain when it was likely to be wrong. It worked within the test setup, then fell apart when moved to a different subject. That failure under cross-subject shift ended up being the main result.
A comparison of CNN and SVD-based models for estimating effective spin from simulated gravitational-wave signals. While checking the result, I found problems in the statistics, simulator, and experiment setup. The current version is useful as an engineering comparison, but the original broader result did not survive the audit.
A population-genetics inference model fitted to 1000 Genomes data. It estimates demography and natural selection together, then uses conformal prediction to catch cases that look too different from its training simulations to answer reliably.