selected work · 2024–2026

Things I shipped, not slides about them.

An iOS app I was told I couldn't build. A wearable that listens for a swallow going wrong. A focus OS for a whole campus. Each one is here as the real interface, not a screenshot in a deck.
swiftuinext.jsembedded · stm32on-device mlai agents
scroll ↓
vela · ios

I was told I couldn't build for iOS.

I study mechanical engineering with a CS minor. I had never shipped a native app. So I learned SwiftUI from zero and built Vela: a calm companion that meets you where your head is that day, and turns showing up into a sky you can watch fill in.

Not knowing iOS was the starting line. It was never the verdict.

Vela — home · daily streaks
home · daily streaks
Conversational onboarding

It asks who you are before it gives you anything. The first screen is a conversation, not a form.

Daily mood check-in

A single slider from bad to excellent, plus one line about the moment you are in. That seeds everything.

AI-generated meditations

Each session is written around your mood and your words, then narrated. No two are the same.

Streaks as a constellation

Show up and a sailboat made of stars fills in over the sea. The reward is the night sky, not a number.

swiftuiios 17custom design systemon-device
boilerbuilder · campus focus os

A focus OS for a whole campus.

Not a hackathon toy. BoilerBuilder is a team-ready product: secure accounts, a persistent backend, a gamified map of real Purdue buildings, streaks, a leaderboard, a news feed, and a smart-glasses live feed. Here is the whole thing, screen by screen.
6
full screens, real product
200+
purdue buildings on the map
1
smart-glasses live feed
0
throwaway hackathon code
boilerbuilder.app/home
BoilerBuilder home screen
homestreak, focus hours, campus rank, friends focusing now
the real thing, walked through
BoilerBuilder home screen on mobile

same product, responsive down to the phone

01

Secure auth + sessions

Hashed passwords and HTTP-only cookie sessions. Real accounts, not a localStorage demo.

02

Gamified campus map

Focus inside a real Purdue building and you unlock it on the map.

03

Focus streaks + leaderboard

Pomodoro timers, daily streaks, and a campus-wide leaderboard of 15,000+ students.

04

Smart-glasses live feed

Connect smart glasses for a real-time, low-latency video feed that tracks your focus.

05

Team ops + activity feed

A task board, member invites, and a live activity feed for working in a group.

built withnext.jstypescripttailwind v4framer motionfile-backed dbapi routes
chyme · embedded + ml

A wearable that listens for a swallow going wrong.

Roughly 80% of late-stage Parkinson's patients live with dysphagia. The aspiration that follows kills quietly. In 36 hours I led the embedded hardware: a power circuit from scratch, two accelerometers at the throat and sternum, and a CNN small enough to run on the band itself.

Every late swallow is a quiet risk. We built something that hears it.

36 hoursbuilt at StarkHacks
93%on-device accuracy
Most CreativeStarkHacks award
dual MPU-6050throat + sternum
stm32mpu-6050edge impulsecnntp4056arduino
I was the embedded hardware lead. I designed the power circuit (TP4056 LiPo charger into an MT3608 boost), wired the dual MPU-6050s over I2C, and wrote the STM32 ring-buffer firmware that streams motion straight into an on-device CNN trained on Edge Impulse. It hits 93% accuracy on an Arduino Uno Q. When too long passes without a swallow, the band escalates on its own.
How ChYme workssense → classify → escalate
throat + sternum IMUMPU-6050 ×2
I2C busdual-address read
STM32 firmwarering buffer · stream
CNN inferenceedge impulse · 93%
swallow detected?window classifybranch ↓
no swallow detected — the band escalates
gentle nudgehaptic cue on the band+50s
caregiver attentionalert pushed to the dashboard+80s
SOS callauto-dial the caregiver phone+110s
And its front endrecreated from the real dashboard
chyme.health / clinicianlive
Welcome back, Maria
Monitoring patient 0427 · normal rhythm today
MMaria
7seconds
All clear
Normal rhythm
Swallowing at a healthy interval. Last swallow a few seconds ago.
Threshold
50s
Nudges today
2
Since morning
214
Swallows today
318count
6% ↗
7-day average
299per day
3% ↘
Swallow activity
6% above your 7-day average
swallow nudge
12a6a12p6pNow
live · deployed · yours to break

Don't take my word for it. Go use them.

Every one of these is online right now, not a screenshot. Open one in a new tab and click around. They were built at hackathons, in dorm rooms, and on flights, and they are all still up.