Code Projects

projects I programmed.


Mapping HI Features of the North Celestial Pole at 21 cm Radio Wavelengths (2025)

Radio astronomy lab report mapping neutral Hydrogen (HI) features in the observable celestial sphere. Collected 500 data points from the Leuschner Observatory over the course of four days over the region { (l,b) | l ∈ [105,160] and b ∈ [15,50] } in galactic coordinates, detecting for notable emission spectra at the 21 cm line. Estimated ∼1.7×10^36 kg, or ∼0.012±0.001% of HI within the region mapped.

Data collection done in collaboration with Xinze Guo, Alicia Roberts, and Matthew Ding. Project done under Charlie Tolley and Professor Aaron Parsons' supervision at UC Berkeley. Report available upon request.



Underlying map of the celestial sphere is taken from Bekhti et al. 2016 . The blue dots represent the 500 data points we sampled across the sky.

Steve Bobs Mesh Painter 2.1 (2024)

Created an interactive app where users can paint directly on a meshed object or onto its texture map (similar to Adobe Substance Painter 3D). Users can optionally import and export texture maps. I implemented raycasting for drawing directly on the mesh, the WebGL mesh display engine and interactability, several UI elements, and general debugging. Project written using Javascript and the Three.JS library.

Won Showcase Winner out of 80 other projects in the CS 184 Final Project Showcase.

See the project page here!

Pathtracer (2024)

Created a physics-based pathtracer that can render diffuse and conductive materials. Implemented various techniques and concepts in pathtracing such as ray intersection with primitives, bounding volume hierarchies, Monte Carlo estimators, direct illumination, global illumination, and adaptive sampling. Additionally, I implemented support for rendering microfacet BRDFs. Project written in C++.

See the project page here!

A mercury dragon! Dangerous to the touch.
Cloth Simulator and GLSL Shaders (2024)

Created a cloth simulator modeled by point masses and springs, and simulated collisions with itself, other objects, alongside gravity and wind fields. Also implemented various GLSL shaders such as Lambert, Blinn-Phong, texture-mapping, bump-mapping, displacement-mapping, toon-shading, and environment reflection maps. Project written in C++.

See the project page here!

Toon Shader + Mesh Editor (2024)

Created a .dae file viewer that explores various techniques in manipulating a mesh such as flipping and splitting edges, Loop subdivision, surface smoothing, and modeling Bezier curves and surfaces. Also created a custom, rainbow-themed toon-shader visualizer, implemented using the OpenGL library. Project written in C++.

See the project page here!

You can see the colored and rigged version of this guy here!
maya mirror script (2023)

Used PyMel to make a modeling tool with a simple UI that duplicates the selected objects and mirrors them across the x, y, and z axis, in both object space and world space.

This tool helped me with my workflow in character modeling; I needed the eyes to act as separate objects and mirrored correctly along the x-axis. You can also mirror multiple selections.

To the left is a demo of me using the tool on Henry, a character I've modeled for Twas a Night.

Check out the code here!