Student software built around existing courses: a browser extension for finding materials, an iPad workspace, and a course-grounded tutor. I am the sole developer across the products.
Work
Building
An iPad app for reading and marking up PDFs with an Apple Pencil. It also runs Python, git, a shell, and a code editor on the device itself, so the problem set and the code for it sit in the same place.
A tutor that works only from your own course materials. It gives hints and steps rather than answers, and every claim points back to the page, slide, or moment in a lecture it came from. Named after George Pólya.
A browser extension that searches across your Canvas and Brightspace courses and answers questions with citations. The index stays on your own machine.
A memory server for AI assistants, so a conversation doesn't start from nothing every time. It keeps what it knows as a graph, tags each fact with where it came from, and stores everything locally. It's the memory my own coding sessions run on.
India's Supreme Court publishes tomorrow's hearing list as a PDF each evening, and if you're representing yourself, checking it every night is the whole job. This watches for your case and emails you when it appears. The court's server returns a 200 for files that don't exist, so the checker reads the body instead of trusting the status code. It's finished. I never deployed it.
A Raspberry Pi in my room that I can reach from anywhere. It backs up my machines, blocks ads for the house, and runs a few things I wrote for it: a status dashboard, a 7am brief, spoken alerts through a Google Home, a tracker for money people owe me. It's all on my own network, so there's nothing to link to.
Research
Designed and tested an uncertainty-routing method for self-supervised vision. After an exploratory study, a pre-registered experiment across eight seeds found no supported improvement from hierarchical targets under the tested protocol. Closed the study with documented results and reproducible analysis. The experiments used synthetic data; no real-image result is claimed.
Lab tooling that connects published human-microbiome studies to a knowledge graph, so you can ask what the microbes that shift in a disease have in common: what they eat, where they live, whether they tolerate oxygen. I wrote the part that turns each study's results into a trait table, 319 experiments across 127 traits. It's the lab's repository, not mine; my contribution was reviewed, merged, and is finished.
Predicting, second by second, the cortical response a video ad produces, and scoring that against real engagement before the media money is spent. It predicts cortical response, not thoughts, and the category it sits in is discredited for cause. The encoder beats chance on held-out validation, which is the floor, not a result. The comparison against a strong baseline is the piece that would settle it, and that run is what I am working toward.
An earlier version of the same question: whether a model trained across many people’s EEG recordings transfers to a new person without retraining. Set up on a 33-subject public dataset; the transfer evaluation is the part still to run.