Projects & code
I build research tools, language pipelines and systems that connect software to physical devices. These are selected implementations, with source code and examples of their output.
Selected builds
Industrial data gateway · cloud-hmi
EngineeringCollect machine readings, keep them through network outages, and upload them when connectivity returns.
I built the gateway end to end: Modbus TCP polling, SQLite buffering on a USB key, batch uploads and service orchestration on a Raspberry Pi.
Demonstrated against machines and test benches. Operators start and stop the workflow by inserting or removing the labeled USB key.
Services & failure handling
Eight systemd unit templates and udev rules coordinate mounting, database initialization, polling and synchronization. Readings remain buffered locally while uploads retry, so collection and network availability are separate concerns.
Recipe DSL · recipe graphs
Research softwareTurn written cooking instructions into an explicit graph of ingredients, actions, intermediate states and timing.
I built the Python pipeline for LLM extraction, deterministic graph compilation, validation and interactive rendering, extending our published recipe ontology.
Output: 21 worked cases with validation records and unit tests.
Compilation & validation
The DSL represents iteration, alternatives, optional bodies and coordinated decisions. The model supplies a typed extraction; the compiler derives the graph and checks its local structural and relational contracts, including source grounding. A failed extraction gets one bounded repair attempt. The worked cases check the graph contract; extraction accuracy on unseen recipes is not yet established.
Reduction test bench · dd-lab
Research softwareCompare input reducers on real failures, measuring both their cost and the outputs they produce.
I built the test bench used to evaluate Dr. DD against ddminY, ProbDD and CDD across ffmpeg, XML, binutils and crashjs inputs.
Output: a frozen replication package. Both code and data received Available, Reviewed and Reproducible artifact badges.
Measurements & correctness checks
Each evaluation records oracle calls, runtime and output size, with independent checks for 1-minimality. A small output is not necessarily 1-minimal: the latter means that no remaining single element can be deleted while preserving the failure. Keeping those measures separate makes the tradeoffs between reducers visible.
More builds
Adaptive image approximation · Lagrima
Numerical methodsFor an individual Numerical Algorithms and Optimization project, I implemented adaptive triangular meshes and higher-order Lagrange interpolation, refining regions with greater reconstruction error.

Browser passphrase generator · Passenger
Development pausedI designed and built a browser app that regenerates a passphrase from a vault key and an app ID, with locally encrypted app-ID storage, import, export and clipboard workflows.
Grammar fuzzers
Performance engineeringI implemented depth-limited C fuzzers and Python grammar-to-fuzzer compilers, then profiled the recursive and iterative variants with string and integer tokens.
Replacing repeated auxiliary-buffer copies with in-place prepending made the token variant the fastest implementation measured on the example grammar.
Other projects & earlier work
Category relationships in Yelp
Primary contributor in a two-person course project. I built the Neo4j analysis end to end: rating-adjusted affinities, co-listing correction, FastRP embeddings and 75 clusters. The resulting associations are exploratory hypotheses.
Regional health analytics · Novo Nordisk hackathon
I co-led a five-person team and independently built district-level diabetes proxy scores and interactive maps from NFHS-5 aggregates. The scores support exploratory regional analysis, not validated patient classifications.
Connect-4 through local Q-learning
An individual course project: a sliding-window agent combines learned 4×4 subgame evaluations into full-board decisions, with training routines and evaluation against a random opponent.
Playfair cryptanalysis · Cheshire
My IB mathematics essay explored simulated annealing with n-gram scoring. All five trials improved the language objective, but none recovered the plaintext: a useful illustration of a proxy objective's limits.