I start lots of projects. Some I even finish! Software, hardware, firmware. From dataflow frameworks to cart-pole controllers to inventory systems.
Python DSL for concurrent, cyclic dataflow programs
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+ specifications model event-loop behavior and lockstep coordination.
Electronics parts inventory system
Docker Compose stack with nginx, MongoDB, Ansible playbooks for VPS provisioning and deployment. Thermal receipt printer for parts labels.
SSR React frontend with client hydration
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)
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
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.

Rust implementation following the Neural Networks from Scratch book
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 training and experiments with inference on personal photos. Each chapter is a CLI subcommand.

Instanced arrow rendering plugin for Bevy
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
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 prototype — in progress
Pico runs motor control (H-bridge PWM, 12-bit) and a bang-bang control loop. 32-bit absolute position tracking at 2400 pulses/rev. Mechanical structure assembled, electronics on breadboard; balancing controller remains in development.
ATtiny85 quadrature encoder → direction pulses
Pin-change ISR with state lookup table decodes A/B quadrature signals. Inline assembly GPIO pulse generation. Error output pin for missed transitions.
DHT11 timing and data capture in PIO assembly
PIO state machine handles sensor signaling and data capture. 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.
Iced GUI backend for e-ink tablet
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.