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.

USC CSCI 585 · 2023 works

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}/.

sql postgresql pglite spatial postgis
UCSC CSE 111 · 2022 ships

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).

bignum arbitrary-precision stack-machine calculator dc
UCSC CSE 102 · 2021 ships

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).

algorithms cpp go graphs kruskal
UCSC CSE 160 · 2021 ships

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.

webgl graphics 3d shaders linear-algebra
UCSC CSE 101 · 2020 works

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.

algorithms data-structures avl-tree backtracking bfs