Brag Sheet

Chess Pawn
Networked Chess

I built a fully playable two-player chess game over the internet, built with Pygame and TCP sockets. Uses an AWS EC2 instance as a relay server so two clients can connect and play in real time. No game-networking library was utilized for this project. The entire network for the game was programmed from scratch with raw TCP sockets. All chess logic was also programmed from the ground up.

Honestly, the chess logic was the easier part. The main takeaway is that I learned how networking works in practice, how to deal with packet fragmentation, timing, and making sure threads aren't interfering with each other.

Chess Pawn
3D Renderer

I built a 3D renderer from scratch in JavaScript using just HTML5 canvas, no libraries. It implements the full graphics pipeline, rotation, translation, camera transform, near plane clipping, perspective projection, and viewport mapping, with the trickiest part being transformation order, since rotating before translating keeps an object spinning in place rather than orbiting the origin.

What I learned was that perspective itself boils down to one operation, dividing x and y by z, and that building this by hand made the math feel a lot less like magic and more lik a sequence of mathematical transformations applied to vectors

Chess Pawn
Leaf Veination Simulation

I built a leaf venation simulation in JavaScript using canvas, based on the space colonization algorithm. Random "auxin" points are scattered across the canvas, and each vein node grows toward the average direction of its nearby auxins, with auxins getting consumed once a vein gets close enough, causing the network to branch organically as it spreads. The interesting part was seeing how a few simple rules, nearest-neighbor attraction and proximity-based removal, produce branching patterns that look strikingly like real leaf veins or root systems without any explicit branching logic.

What I learned was how emergent complexity works: none of the individual rules describe a "branch" directly, but the branching pattern emerges naturally from many points all pulling on the vein network at once.