My Projects


Physical Animation Tool Typescript

Created an animation tool that allows for object-frame manipulation and animation. Renders in dynamic 3D environment with objects. Wrote a physics engine to simulate cloth behavior with light, wind, gravity, and collision detection.

Accelerated Ray Tracer C, C++

Implemented a graphical application that renders ray-traced scenes with translucent, reflective, refractive, and opaque objects. Added normal mapping for more realistic textures as well as anti-aliasing techniques (adaptive and stochastic supersampling) to improve image quality. Utilized data structures, like BVH trees and k-d trees, to massively improve efficiency and rendering speed.

Filesystem and Virtual Memory C, C++

Created an encrypted file/directory hierarchy with node-like data structures for a virtualized OS on QEMU. Also implemented virtual memory by setting up the page tables for virtual-to-physical address mappings. Added demand paging into virtual memory, an optimized method of reading disk pages into memory.


Carlae Interpreter Python

Wrote an interpreter for Carlae, a custom Lisp dialect with similar syntax. Implemented a code tokenizer, parser, and evaluator to read and execute programs. Also created a REPL shell component for command line interpretation. Features include variable definition, functions, list comprehension, lambdas, and environments.


Recime Python, HTML

Built a digital tool that scrapes and stores information from online and custom-made recipes. Provides search functionality for specific recipes using keywords like ingredients, cooking techniques, and personal notes. Uses custom resource file storage and serialization hierarchy, allowing dynamic features like tags and cookbooks.


NBA Data Analysis Python (pandas, sklearn, seaborn)

Created a notebook analyzing NBA shot data from kaggle to pinpoint why athletes play worse on the road and if home-court advantage actually exists. Used pandas to organize datasets, sklearn to build models, and seaborn to clearly display results.


Webcrawler Java, HTML

Built a search engine and web crawler that explores an isolated network of web-pages to create a web-index data structure that is stored in disk. Accepts and answers search queries that follow a set of boolean logic rules and finds all the pages that satisfy the query. Created unit tests for web-crawling, query-parsing, and query logic support by building a small custom network of pages.