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
- A collection of ~30 mini-projects using vanilla JavaScript
 - Based on the 30-day coding challenge by Wes Bos
 
Advanced CSS Example
- Static website landing page featuring responsive design
 - Built for Advanced CSS Concepts course by Microsoft
 
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
- Parallel Systems
 - Numerical Linear Algebra
 - Optimization
 - Advanced Operating Systems
 - Advanced Algorithms
 - Machine Learning
 - Deep Learning
 - Reinforcement Learning
 - Planning, Search, and Reasoning under Uncertainty
 - Virtualization
 
Computer Science at UC Irvine
- Undergraduate Research
 - Computational Geometry
 - Computer Simulation
 - Applications of Probability in Computer Science
 - Operating Systems
 - Project in Databases and Web Applications
 - Computer Networks
 - Compilers
 - Programming Languages
 - 
            Upper Division Math
            
- Linear Algebra
 - Real Analysis
 
 
B.A. Physics at UC Berkeley
- Major requirements and overview
 - Undergraduate research studying magnetometry as part of The Budker Group .
 
Computer Science at UC Berkeley
- CS 61A. The Structure and Interpretation of Computer Programs
 - CS 61B. Data Structures
 - CS 61C. Great Ideas in Computer Architecture (Machine Structures)
 - CS 70. Discrete Mathematics and Probability Theory
 - CS 169. Engineering Software as a Service
 
| Provider | Course | Estimated Effort | Certificate | 
|---|---|---|---|
| MITx | MITx MicroMasters in Statistics and Data Science | 600 hours | Certificate (4/5) | 
| MITx | Software Construction in Java | 100 hours | Audit | 
| MITx | Advanced Software Construction in Java | 100 hours | Audit | 
| Coursera - Princeton | Algorithms, Part I | 60 hours | Audit | 
| Coursera - Princeton | Algorithms, Part II | 60 hours | Audit |