Projects
Not everything I build is big or polished, but every project here started with a problem I wanted to solve. Some were built with teams, some on my own, and most taught me something new along the way.
CMU Bulletin
Campus events and announcements in one place
CMU Bulletin is a platform where students can discover and share campus events. Instead of announcements being scattered across group chats, Slack channels, and mailing lists, everything lives in one searchable feed.
My role
- Co-developed the full-stack web application with a team
- Built core frontend components and event posting flows
- Helped design the event submission and moderation system
- Shipped the first working version used by students
Tech stack React · Firebase · TypeScript
LMYA MultiSport
Training resources for youth coaches, players, and parents
LMYA MultiSport is a mobile app for the Lafayette-Moraga Youth Association that provides training videos, drills, and resources for youth sports programs. Coaches and players can browse structured practice content and learn skills outside of practice.
My role
- Designed and developed the cross-platform mobile application
- Delivered technical presentations to organization leadership to secure $10K in funding
- Managed the App Store and TestFlight release pipeline
- Handled QA, updates, and deployment for production releases
Tech stack React Native · iOS · Android · App Store Connect · TestFlight
The Bias Lens
Making bias in news visible and explainable
The Bias Lens analyzes news articles and highlights language that may introduce ideological framing. Instead of labeling an article as simply "biased," it explains how specific wording choices can influence how a story is perceived.
My role
- Designed and implemented the article analysis pipeline
- Built prompts and processing logic to identify framing and ideological signals
- Developed a system to generate readable explanations of bias indicators
Tech stack Python · LLMs · NLP
CMUEats
CMU dining locations and menus in one place
CMUEats helps students quickly check which campus dining locations are open and what's on the menu. The app aggregates dining information into a single interface designed for quick mobile use between classes.
My role
- Helped design product features and user experience improvements
- Collaborated with the team and CMU dining on data access
- Contributed to frontend development and feature planning
Tech stack Vite · JavaScript · Web APIs
Teacher Dataset Scraper
Structuring public datasets for research outreach
This project collects and structures publicly available datasets to identify teachers who may be interested in participating in education research studies. The goal is to make it easier for researchers to connect with educators who could benefit from new tools.
My role
- Built Python scripts to scrape and structure public data sources
- Cleaned and standardized datasets for researcher use
- Produced a structured dataset of 500+ teachers for outreach
Tech stack Python · Web scraping · Data processing
This Website
The site you're currently on
This portfolio site is where I share projects, writing, and experiments. I built it to be simple, fast, and easy to update as I keep building new things.
My role
- Designed and implemented the entire site
- Built reusable project and blog components
- Deployed and maintain the site
Tech stack Next.js · TypeScript · CSS
Scratch Projects
Where it all started
My earliest programming projects were built in Scratch — mostly small games and interactive experiments. They're simple, but they're also where I first learned how programming could turn ideas into something playable.
What I built
- Small games and interactive animations
- Logic systems using Scratch blocks
- Early experiments with game design






