I build things at the edge of hardware and software, where a bug in your firmware has physical consequences and getting it right actually matters.
Full-stack shift handoff tool for clinical care teams — structured two-minute form, flagged urgency levels, AI-generated plain-English summaries. Built and shipped live on Vercel within the competition window.
Orbit-powered MR blast-radius agent on the GitLab Duo Agent Platform. Triggers with /sentinel in the MR sidebar, traverses GitLab's knowledge graph across 8 node types — files, imports, definitions, pipelines, vulnerabilities, contributors — and posts a structured impact brief directly to the MR in under 60 seconds.
Three-task FreeRTOS system in C. SensorTask feeds a typed queue every 500ms, ControlTask applies threshold logic and fires a binary semaphore when temp goes critical, DisplayTask renders live output. Runs on Linux via POSIX simulation — port to STM32 is three HAL function swaps.
view on github →Implementing a complementary filter fusing MPU-6050 accelerometer and gyroscope data over I2C for drift-free real-time angle estimation on STM32F103. Three-task FreeRTOS architecture — IMU read, angle compute, servo output — with a POSIX simulation layer for full logic testing on Linux before hardware flash.
in progress — code coming soonClosed-loop thermal control on Arduino Uno. TMP36 ADC sensing, PMOS-driven PWM fan, 16×2 LCD and 80-LED NeoPixel strip. The interesting bug was the inverted PWM logic from the PMOS high-side driver — caught it in Tinkercad before it hit hardware.
view on github →Solo C++17 tool that applies Ohm's Law and Kirchhoff's Laws to series and parallel circuits. Computes resistance, branch currents, voltage drops, and power — then verifies the result against KVL/KCL automatically. Started as a way to stop doing this by hand in physics lab.
view on github →Proximity-feedback parking system — 95% detection accuracy from 5 to 100cm, sub-50ms feedback loop. Ran 10+ edge-case scenarios and got reliability from 65% to 88%. First project where I really understood what testing is actually for.