I make things. Software, hardware, firmware. From dataflow frameworks to cart-pole controllers to inventory systems. Usually from scratch.
Python DSL for concurrent, cyclic dataflow programs
~9,200 LOC. Custom event loop (not asyncio) with command-based coroutines. Generation-tuple ordering enables cycles and streaming to coexist. Raw-socket HTTP client with TLS and streaming JSON for LLM APIs. TLA+ formal verification of concurrency primitives (~3,600 LOC specs). 34 test files.
Electronics parts inventory system
~15K LOC across 4 repos. Docker Compose stack with nginx, MongoDB, 9 Ansible playbooks for Flatcar VPS deployment. Thermal receipt printer for parts labels.
SSR React frontend with client hydration
9,837 LOC. Dual webpack build (server + client). react-frontload for server-side data fetching. 15 routes. useSchemaForm hook auto-generates forms from API-provided trigger schemas.
RESTful with hypermedia links (HATEOAS)
4,007 LOC + 1,532 LOC tests. Custom DataModel ORM over MongoDB. HypermediaEndpoint base class auto-generates resource links. RFC 7807 problem+json errors. Trigger/mixin schema system for extensible item categorization.
Thermal receipt printer for parts labels
Adafruit thermal printer via serial. Raw bitmap commands, BDF font parsing, QR code generation. MQTT-based PrintButton for one-tap printing.
Guibas-Stolfi topology + Delaunay triangulation
2,590 LOC Rust. Slot-based allocation with Vec<Option<RefCell<T>>>. Rot/Sym operators via XOR bit manipulation on indices. Delaunay insertion with edge-walking locate and fixup via edge swaps. Interactive Bevy/egui visualizer animates the algorithm step-by-step.

Neural Networks from Scratch — in Rust
5,774 LOC. Layer trait with compile-time type safety via generic Model<T, A, L> builder. SGD, AdaGrad, RMSProp, Adam optimizers. Dropout + L1/L2 regularization. Fashion MNIST classification (~91.5% accuracy) with inference on own photos. Each chapter is a CLI subcommand.

Instanced arrow rendering plugin for Bevy
746 LOC (669 Rust + 77 WGSL). Custom instanced-rendering pipeline. Each arrow interpolates between tail/head transform matrices using per-vertex weights in a custom WGSL shader. Hand-written Extract/Queue/Prepare/Render against Bevy 0.7 low-level API.
Custom car dashboard firmware
780 LOC. 4-digit 7-segment LED via SPI with multiplexing. HD44780 character LCD driven via PIO assembly with bit-reversed pin wiring. Individual drivers work, not yet integrated with vehicle sensors.
Inverted pendulum — everything from scratch
325 LOC across two chips. Pico runs motor control (H-bridge PWM, 12-bit) and a bang-bang control loop. 32-bit absolute position tracking at 2400 pulses/rev. Mechanically complete, electronics on breadboard.
ATtiny85 quadrature encoder → direction pulses
67 LOC. Pin-change ISR with state lookup table decodes A/B quadrature signals. Inline assembly GPIO pulse generation. Error output pin for missed transitions.
Sensor protocol entirely in PIO assembly
~217 LOC. Entire DHT11 single-wire protocol in ~30 PIO instructions. Nested delay loops for 18ms wake, pin-state sampling at fixed delay after rising edge discriminates 0/1 bits by pulse width. Auto-push 32 bits to RX FIFO, IRQ to notify CPU. Zero bit-banging.
Iced GUI backend for e-ink tablet
701 LOC Rust. Custom Backend/Text traits targeting /dev/fb0 at 1404x1872. Multitouch + Wacom stylus input mapping. BVH for partial e-ink refresh regions. Cross-compiled to armv7 with reMarkable OE SDK toolchain.
Physics graduate from UMass Amherst with a concentration in math. I build things to understand them.
Currently working as a QC Chemist at Fujifilm Electronic Materials.