I design and build small, purposeful web tools — from a browser dashboard that drives a physical weather rover, to sites that help students study, train and practice code. Five projects, five different problems, one habit of shipping working software.
My projects tend to start from a real, specific problem in front of me — a rover that needed a control panel, my own study routine that needed structure, a workout log that lived in too many notebooks. I build the web interface that solves it, then keep it around because it's actually useful.
That means my stack shifts with the problem: plain HTML and JS for fast, interface-first builds, Python when a project needs real logic or a model behind it. I'd rather ship something small and working than leave something ambitious half-built.
A web-based control panel for driving and monitoring a physical weather-sensing rover in real time.
Reads a user's emotional state and, when it detects sadness or anger, hands off to an AI companion for support.
A site built for students to sharpen their thinking — practice, prompts and problem-solving in one place.
A lightweight practice ground where students can drill coding problems and build up reps.
A fitness tracking website for logging workouts and keeping training consistent over time.