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

Current:
M.S. Computer Science at UT Austin

Previous:
B.A. Physics at UC Berkeley

Computer Science at UC Irvine


Online Courses: 2,000+ hours completed for Computer Science and Web Development

Provider Course Estimated Effort Certificate
MITx MITx MicroMasters in Statistics and Data Science 600 hours Certificate (4/5)
UC BerkeleyX Engineering Software as a Service 70 hours Audit
UC BerkeleyX Engineering Software as a Service, Part 2 70 hours Certificate
MITx Software Construction in Java 100 hours Audit
MITx Advanced Software Construction in Java 100 hours Audit
Microsoft Advanced CSS Concepts 20 hours Audit
W3Cx HTML5 Introduction 30 hours Audit
W3Cx HTML5 Part 1: HTML5 Coding Essentials and Best Practices 35 hours Certificate
W3Cx HTML5 Part 2: Advanced Techniques for Designing HTML5 Apps 20 hours Audit
W3Cx Javascript Introduction 40 hours Audit
EPFLx Nature, in Code: Biology in Javascript 30 hours Audit
Coursera - UNM Web Application Architectures 25 hours Certificate
Stanford Online - Lagunita Introduction to Databases 100 hours 1, 2, 3, 4, 5, 6, 7
Coursera - Stanford Algorithms: Design and Analysis 100 hours Part 1 , Part 2
Coursera - UCSD Bioinformatics Algorithms (Course 1-2, formerly Part 1) 50 hours Certificate
Coursera - Princeton Algorithms, Part I 60 hours Audit
Coursera - Princeton Algorithms, Part II 60 hours Audit
MITx Introduction to Computer Science and Programming Using Python 100 hours Certificate
HarvardX Introduction to Computer Science 100 hours self-studied from cs50.tv
UC Berkeley The Structure and Interpretation of Computer Programs 150 hours Audit
UC Berkeley Data Structures 150 hours Audit
UC Berkeley Great Ideas in Computer Architecture (Machine Structures) 150 hours Audit
UC Berkeley Discrete Mathematics and Probability Theory 150 hours Audit
Coursera - Stanford Introduction to Logic 80 hours Certificate
CaltechX Learning From Data (Introductory Machine Learning) 150 hours Certificate
UC BerkeleyX Introduction to Big Data with Apache Spark 25 hours Certificate
UC BerkeleyX Scalable Machine Learning 35 hours Certificate
Udacity Artificial Intelligence for Robotics 50 hours Certificate
Coursera - Stanford Machine Learning 100 hours Certificate