Some things I've built outside work — mostly C++ pushed places it doesn't usually go: compile-time reflection, performance tooling, and algorithms that were supposed to stay theoretical. Everything lives on GitHub.
C++26 Reflection
Making compile-time reflection do real work — bindings, serialization, hashing — before it ships in a standard compiler.
mirror_bridge: One bind_class<T>() call and C++26 reflection generates the entire Python, Lua, and JavaScript binding — no boilerplate, 3–5× faster dispatch than pybind11. Porting Open3D's point-cloud pipeline replaced 25,262 hand-written binding lines with 71. writeup open3d port benchmarks
simdjson × reflection: Compile-time reflection meets simdjson: JSON ⇄ native C++ structs at 3.5–7.8 GB/s with zero per-type code, 2–3× faster than yyjson and Rust's serde. Paper co-authored with Daniel Lemire. writeup
mirror_hash: std::hash specializations generated from reflection instead of written by hand — a trivially-copyable struct hashes in under 2 ns, and the whole thing passes SMHasher. The byte-hashing core uses ARM64 AES instructions to beat rapidhash by up to 147% on 64 B–8 KB keys. writeup
Algorithms & Performance
karger-klein-tarjan: A working implementation of the expected-linear-time randomized MST algorithm — including the linear-time verification step (Hagerup) that most people skip. Found a bug in a 13-year-old paper's implementation along the way. writeup
dimacs_2026 — max-flow: Five complementary max-flow solvers — push-relabel, pseudoflow, EIBFS, and two implicit-grid engines (one new to the literature) — built for the 13th DIMACS Implementation Challenge. 2.1× geometric-mean speedup over the reference solvers across 55 benchmark instances.
hotpath: Profiles your Python, scores each hot function for transpilability, then has an LLM rewrite the winners in C++ — with generated tests on both sides of the boundary to prove the rewrite is faithful.
Graphics, university era
global_illumination: A Monte Carlo path tracer racing naive sampling against explicit light sampling on Cornell-box scenes — watching the same image converge from noise at 8 spp to smooth at 25,000.
VolumeRendering: Volume renderer for 256³ CT scans — adaptive Simpson integration along each viewing ray, with transfer functions mapping density to color and opacity.
More experiments, contest code, and half-finished ideas: github.com/FranciscoThiesen →