Projects

Public source code on GitHub.


Web Development

Front-end Web Development at Flux.ai (Jan. 2023 - Apr. 2024)

  • Implemented bug fixes and features for a browser-based PCB editor, with a focus on graphics, rendering, and performance
  • Shipped code on instancing, camera behavior, visual testing, raycasting, GPU picking with custom GLSL shaders, stenciling, and hover selection/interaction performance
  • Developed primarily using TypeScript, Three.js, React, React Three Fiber, WebGL, and GLSL

Approval Workflow Engine (Intern Project for Varis, Summer 2022)

  • A business rules engine that processes purchase requests and manages corresponding approval workflows
  • With extensive configuration options, users can edit business rules, approve or deny orders, reprocess requests, and have comprehensive status updates, all from an intuitive web interface
  • Frontend UI using Javascript and React, backend API using Go, and database access/design using PostgreSQL
  • Includes unit and integration tests with over 80% code coverage integrated into a CI/CD pipeline

Virtual Earth System Laboratory
(Undergraduate Research Programming for JPL / Wayne Hayes's Group at UCI, Winter 2020)

  • Earth system science simulations and testing using JavaScript and Playwright for web browser automation

JavaScript 30

Advanced CSS Example

Practice IPA (no longer maintained)

  • Find word pronunciation with phonetic symbols (IPA) and audio
  • Quiz yourself and save progress on alphabets, frequency lists, and other word lists
  • Tech stack: Django (backend), Amazon S3 (file service), Heroku (deployment), Bootstrap (frontend)

Periscopin (no longer maintained)

  • Live stream agreggator of periscope broadcasts, displayed on a world map
  • Information obtained using Twitter API and web scraping from periscope.tv

Computer Graphics

Rasterizer

  • A rasterizer built in C++ that renders SVG files
  • Supports texture mapping and anti-aliasing using trilinear filtering with mipmaps

Mesh Editor

  • A mesh editor built in C++ that can manipulate geometric mesh model data
  • Features include Bézier surface modeling, local remeshing operations such as edge flips and edge splits, and mesh upsampling via loop subdivision

Ray Tracer

  • A physically based renderer using path tracing for global illumination
  • Uses a bounding volume hierarchy (BVH) as an acceleration structure for ray-object intersection
  • Uses adaptive sampling to reduce noise and improve rendering quality

Cloth Simulation

  • Real-time physical simulation of cloth with mass-spring computational modeling
  • GLSL shader implementations for diffuse lighting, Blinn-Phong shading, texture mapping, bump/displacement mapping, and environment-mapped reflections

Quads

  • Computational pixel art: animate quadtrees of images using their color statistics

Nature in Code Simulations

  • Biology simulations and visualizations using JavaScript

Data Processing

N-body Simulation

  • A parallelized N-body simulation in C++ using the MPI (Message Passing Interface) protocol for high-performance computing, with optimizations using Barnes-Hut approximation algorithms
  • Includes a visualization of the simulation using OpenGL

K-Means Machine Learning

  • A k-means machine learning algorithm optimized for performance using C++ and CUDA GPU programming

Distfit
(Undergraduate Research Project for Wayne Hayes's Group at UCI, Winter 2020)

  • Python program that performs automated statistical tests, turning research data into scientific results

Wiktionary Explorer

  • Python program to parse wiktionary's wikitext data format to extract and transform pronunciation data into a structured format

Courses

M.S. Computer Science at UT Austin

Computer Science at UC Irvine

B.A. Physics at UC Berkeley

Computer Science at UC Berkeley