Projects
Embeddable demos of work I've shipped. Each one is a real artifact
served from assets-r2.codeseys.io,
built by its own GitHub Actions workflow, and discovered automatically
by the site at build time. Source repos and the architecture doc are
linked from each project's page.
CSCI 585 — Database Systems (USC, Spring 2023)
Two interactive demos from Yan Liu's CSCI 585 alongside the original homework source. The Bay Area photo spatial demo plots 13 geotagged photos on a real map and runs convex-hull / k-NN queries client-side via turf.js. The YouTube SQL demo runs the original 7-table relational schema on PGlite (real PostgreSQL compiled to WebAssembly), letting you execute the 6 query exercises live in the browser. Original homework source lives alongside in HWs/HW{1..5}/.
CSE 111 — dc-bigint REPL (UCSC, Winter 2022)
The asg1 assignment for CSE 111 (Advanced Programming): a Unix-style desk calculator with arbitrary-precision integer arithmetic. Implements bignum +, −, ×, ÷, %, ^ from scratch over a vector<uint8_t> of decimal digits, then drives a stack machine on top. The bigint/ubigint classes from the original course homework are compiled to WebAssembly via Emscripten — a thin shim layer around the unmodified arithmetic exposes a JS-callable stack API for the live REPL. Several arithmetic bugs in the original course code were tracked down and fixed during the WASM port (see commit history for details: ubigint(unsigned long) constructor leaked size-N zero-prefix, operator+ never pushed the final carry, divide_by_2 walked the wrong direction, operator< returned wrong on size-equal cases).
CSE 102 — Minimum Weight Spanning Tree (UCSC, Fall 2021)
The programming-project assignment for CSE 102 (Algorithm Analysis & Design): given a weighted undirected graph, compute its minimum weight spanning tree. The C++ implementation (Prim's algorithm with priority-queue) from the original 2021 submission runs unchanged via Emscripten. A Go implementation of the SAME problem using a DIFFERENT algorithm (Kruskal's with union-find) is also preserved in `kruskal-go/`, and its core has been ported into the wasm shim so the live demo lets you flip between Prim's and Kruskal's and confirm they produce the same total MST weight on connected graphs. Includes Fall 2020 + Fall 2021 LaTeX writeups for the HW + Lab problems as documentation (not deployable demos).
CSE 160 — Computer Graphics (UCSC, Winter 2021)
WebGL graphics course at UCSC, Winter 2021. Five interactive demos: 2D drawing, hierarchical transforms, articulated 3D character, textures + animated video skybox, and a fully-lit final scene. All demos are vanilla JS + WebGL 1.0 with hand-rolled transformation matrices (no three.js). The 70MB galaxy video texture in asg3/asg4 is re-encoded to ~13MB at 720×720 by a build-script step in CI.
CSE 101 — Algorithms (UCSC, Winter 2020)
Interactive visualizations of the data structures and algorithms from Patricia Lopez's CSE 101. All three demos run the original course C++ unmodified — N-Queens uses hw2/NQueens/Board.cpp + Queens.cpp; AVL Wordrange uses hw3/Wordrange/AVL.cpp; Six-Degrees BFS uses hw4/Sixdegrees/graph.cpp — compiled to WebAssembly with thin step-by-step iterator shims. The JavaScript layer only handles rendering; the algorithms themselves are exactly what was submitted for grading in 2020.