Projects

This page is basically my engineering notebook: what I built, what broke, what I changed, and what I learned while shipping things across software and hardware.

Featured engineering work

Compiler pipelines, autodiff, embedded IoT, and hardware integration.

SystemsFeatured
P01
Systems·Spring 2026

C Compiler

OCaml compiler pipeline from C source to x86-64 assembly.

Motivation: As I gained a deeper interest in understanding lower level systems, I realized that I never understood the basis behind compilers, the actual foundation of programming. Thus, I researched what I could about compilers, and I stumbled upon Nora Sandler's book on writing compilers. Here, I learnt the principles behind developing a compiler starting with a real lexer -> parser -> IR -> codegen pipeline where I could inspect every stage. One cool thing is that the book didn't spoonfeed me the code; rather, it gave the foundations, which I had to apply to the best of my ability.

Challenge: Memory-to-memory instructions in x86 required explicit scratch-register fixups.

OCamlRecursive DescentTACKY IRx86-64Make
IteratingActively expanding language features
Machine LearningFeatured
P02
ML Systems·Spring 2026

MiniTorch-OCaml

Reverse-mode autodiff engine with custom computation graphs.

Motivation: I wanted to understand backprop beyond framework APIs, so I implemented graph nodes, reverse traversal, and gradient checks in OCaml.

Challenge: Gradient bugs were subtle and rarely obvious from forward outputs.

OCamlAutodiffComputation GraphsGradient Checking
IteratingExtending toward richer tensor operations
EmbeddedFeatured
P03
Robotics·Spring 2026

BloomBot IoT

IoT robotic flower with servos, sensors, LCD, and remote control.

Motivation: This project came from wanting something expressive and physical, not just another board demo. I integrated Blynk controls, servo choreography, sensor feedback, and display output into one system.

Challenge: Power rails had to be stabilized to avoid brownouts during concurrent servo loads.

Arduino UNO R4 WiFiBlynkWiFiS3ServosUltrasonicI2C LCD
ShippedShipped demo + iterating on next hardware revision
Lightsaber Build media 1
HardwareFeatured
P04
Hardware·Spring 2026

Lightsaber Build

CAD + circuitry + soldering to ship a handheld lightsaber build.

Motivation: I used this as a hands-on integration project: sketching, CAD, soldering, wiring, and iteration until the final object felt robust in-hand and not like a fragile prototype.

Challenge: Wire management inside the hilt was harder than schematic planning.

Fusion 360LED StripSoldering3D PrintingCircuit Design
ShippedShipped physical build

Supporting builds

Smaller builds, but still real engineering: web apps, CV pipelines, signal processing experiments, and embedded games that made me sharper across different parts of the stack.

Full-Stack
P05
Full-Stack·2026

SnapFuel

Photo-first calorie logging with AI estimation and human confirmation.

Motivation: I built SnapFuel to reduce food logging friction while keeping the user in control. The core idea is: AI suggests, user confirms, dashboard reflects confirmed values.

Challenge: Model confidence needed transparent communication, not fake precision.

Next.jsTypeScriptSupabaseOpenAI VisionVercel
IteratingMVP shipped, improving reliability and integrations
Machine Learning
P06
ML + Tools·2026

LabReach AI

Research outreach copilot: scrape, summarize, draft, review, then send.

Motivation: LabReach started as a script to reduce repetitive outreach prep. I kept a human-review checkpoint as a hard requirement so automation helps without blindly sending.

Challenge: JS-heavy faculty pages broke simple scraping logic.

PythonOllamaBeautifulSoupPlaywrightSQLite
IteratingCLI pipeline working, expanding campaign tooling
Video
Full-Stack
P07
Signal + Web·2025-2026

Count Coach

Dance practice tool with waveform selection and BPM analysis.

Motivation: Built from a dance practice pain point: finding the right section and tempo quickly. The app combines waveform interactions with server-side tempo analysis.

Challenge: Syncing waveform selection with backend analysis boundaries.

Next.jsWaveSurferLibrosaPythonVercel
ShippedShipped and used as a personal practice tool
Video
Embedded
P08
Embedded·2026

Arduino TFT Tetris

Bare-metal handheld Tetris on Arduino Nano + ST7735 display.

Motivation: I built this to practice embedded game loops and real hardware debugging. Everything runs on-device: rendering, input handling, collision checks, scoring, and sound cues.

Challenge: Intermittent display issues required solder-level debugging.

Arduino NanoC++ST7735SPIAdafruit GFX
ShippedPlayable prototype complete
Video
Machine Learning
P09
CV + ML·2026

Bhangra Coach

Computer vision dance coach with pose comparison feedback.

Motivation: This project explores whether movement feedback can feel useful instead of robotic. The pipeline compares user dance clips against references and surfaces actionable differences.

Challenge: Movement alignment is hard when tempo differs between performers.

Next.jsFastAPIMediaPipeSupabaseComputer Vision
In progressActively iterating on feedback quality
Video
Full-Stack
P10
Product·2026

Penn Plates

Campus dining social app built through Penn SPARK.

Motivation: A real product-focused build with practical constraints, team collaboration, and user-oriented iteration. The goal was connecting students around dining in a way that felt lightweight and usable.

Challenge: Balancing feature ambition with limited project timeline.

Next.jsSupabaseReact
ShippedDemo-ready build completed
Full-Stack
P11
Meta·2025-2026

Portfolio Website

This site, built as an evolving engineering journal.

Motivation: I treat this as a living system instead of a static portfolio. The project section itself now runs from reusable data so future additions are faster and more consistent.

Challenge: Keeping the site personal while scaling structure and consistency.

Next.jsReactTailwindFramer Motion
IteratingContinuous iteration
Video
Embedded
INT-01
Embedded + Systems·2026

Vend-A-Shoe

Remote vending controller that lets a user pick a bin in a Next.js dashboard and trigger a physical dispense through a Supabase command queue and Raspberry Pi worker.

Motivation: A cyber-physical vending pipeline instead of a dashboard-only app.; Frontend writes `device_commands` rows to Supabase with bin-specific actions (`dispense_bin_1..4`).; Raspberry Pi worker claims pending commands, executes servo movement script, then marks command status.; Servo control supports per-bin calibration; Bin 3 needed reduced duty cycle to prevent over-rotation.

Challenge: Reliable internet-triggered actuation with safe state transitions.

Next.jsTypeScriptSupabasePostgreSQLRaspberry Pi 4
IteratingCloud-to-hardware prototype running; calibration and reliability iteration

Earlier work

Course and earlier builds. I keep them here for context because they show how my approach changed over time.

3D Brain Model media 1
CAD / Design
P12
CAD·High School

3D Brain Model

Anatomical 3D brain model built and printed from Maya.

Motivation: An earlier project that taught me a lot about turning conceptual anatomy into tangible physical models and labels.

Challenge: Maintaining anatomical clarity while keeping print geometry stable.

MayaCAD3D Printing
ArchivedArchived
Health Outcomes Analysis media 1
Data Science
P13
Data·Course project

Health Outcomes Analysis

Socioeconomic health outcomes analysis for an OIDD capstone.

Motivation: Course project using statistical and ML tooling to analyze relationships between socioeconomic factors and poor health outcomes.

Challenge: Balancing statistical rigor with interpretable outputs under course timeline.

PythonPandasSeabornDecision Trees
ArchivedArchived