Project case studies

What I built, how it works, and what I learned.

Replace or expand any section as your repositories, screenshots, and final evaluation results become available.

Roblox · Published experience

Escape Tsunami with Dragons

A survival game where players navigate hazards, survive a moving tsunami, and collect dragons. The project grew beyond a prototype into a published experience with more than 30,000 visits.

My contribution

  • Designed and implemented gameplay systems in Roblox Studio.
  • Built tsunami movement and survival logic.
  • Added progression, dragons, global announcements, and UI systems.
  • Improved performance and added server-side validation against common exploits.

What it demonstrates

Shipping a live productLua systemsPerformancePlayer experience
NLP · University project

Nutrition Facts RAG Chatbot

A retrieval-augmented chatbot that answers questions using nutrition-related source documents instead of relying only on a language model’s general knowledge.

Core workflow

  • Prepare and clean the source text.
  • Represent documents for retrieval.
  • Retrieve relevant passages for each question.
  • Generate a grounded answer from the retrieved context.

What it demonstrates

PythonRetrievalNLPGrounded responses
Computer vision · Classification

Emotion Detection from Facial Expressions

A facial-expression classification project focused on transforming image data into model-ready inputs, training or evaluating a classifier, and reviewing prediction quality.

Project focus

  • Image preprocessing and normalization.
  • Training and evaluation workflow.
  • Class prediction for facial expressions.
  • Analysis of accuracy and model limitations.

What it demonstrates

PythonComputer VisionML Evaluation
Assembly · Systems fundamentals

Snake Game in Assembly

A low-level implementation of the classic Snake game with keyboard input, movement, collision detection, score tracking, and screen refresh logic.

Why it matters

  • Strengthened understanding of memory, control flow, and state.
  • Translated game rules into low-level instructions.
  • Managed input and repeated screen updates.

What it demonstrates

AssemblyLow-level logicDebugging