Selected works

Projects built around real questions

I enjoy projects that enable me to learn a new domain, interpret messy data, and transform the result into something people can understand and use.

Deep learning Generative AI Research Software
High-resolution nitrogen dioxide map of North America

Machine learning · Climate research

High-resolution NO₂ mapping

Tracking global NO₂ levels matters for understanding air quality and climate change, but generating high-resolution measurements with WRF-CHEM is computationally intensive. With UC Berkeley’s Cohen Research Group, I helped lay the groundwork for a machine-learning alternative.

I aligned more than 47,000 WRF-CHEM pixels with NASA OMI pixels and engineered geolocation data to improve correlation, streamline analysis, and prepare the dataset for model training.

Poke-Man game screen with a generated maze

Game development · Procedural generation

Poke-Man

I designed and developed a multiplayer game that combines Pac-Man-style gameplay with the Pokémon universe. Players control Pokémon characters through procedurally generated mazes while completing objectives and avoiding obstacles.

I added persistent game saves with Git, intuitive menus, and a dynamic heads-up display while learning the practical challenges of real-time multiplayer mechanics and game UI design.

Created for educational purposes. Pokémon character designs belong to Nintendo, Game Freak, and Creatures.

Penn Treebank part-of-speech tags and example text

Natural language processing · Deep learning

Part-of-speech tagging with BiLSTMs

Part-of-speech tagging identifies the grammatical role of each word in a sentence, giving language systems essential context. I built a tagger with a bidirectional LSTM trained using mini-batch stochastic gradient descent and pretrained GloVe embeddings.

I incorporated dropout to reduce overfitting and experimented with model configurations using the 500,000 most frequent 300-dimensional word embeddings.

Charts showing variation in confirmation and declination responses

Sociolinguistics · UC Berkeley

How people say “yes” and “no”

People in the same linguistic community can communicate the same idea in strikingly different ways. I studied variation in confirmation and declination responses among English speakers at UC Berkeley.

Over two weeks, I collected auditory linguistic data and analyzed how response variants related to gender, race, relationship formality, and situational context. The experience connected quantitative analysis with the social texture behind the data.

Danz World Cup League 2026 project banner

Full-stack web app · OpenAI Build Week

Danz World Cup League 2026

I turned a friend-group World Cup prediction pool into a responsive web app with Google sign-in, group and knockout picks, bonus questions, automatic scoring, and a public leaderboard.

The Firebase-backed app handled real players and tournament edge cases, including kickoff locks, hidden picks, extra-time scoring, admin grading, transparent point breakdowns, and a final winners podium.

Want the one-page version?

See the experience behind the projects.

Open my resume