linkedn't
I made a browser extension that translates LinkedIn posts into what they actually say. A Deslop button lives under each post, with three levels of bluntness and a way to show the original. Built with TypeScript, Chrome MV3, and Next.js. Read more
FLO
A continuum traffic engine where passing, merging, and intersection flows emerge from potential fields. Built with C++, Python, and SDL2, with SUMO comparisons. No explicit rule for every manoeuvre. Read more
CasPCE
A smaller, saner Casio Picture Conversion Engine. Drop in a PNG or JPEG and get a native .g3p file for a Casio graphing calculator. A reverse-engineered format, a Python CLI, and a conversion app that runs entirely in the browser. Read more
Two Tongue Tales
Personalised bilingual storybooks, built solo for a client in Singapore. Parents turn a family memory into an illustrated book, edit the result, and order a printed keepsake. I built the complete product flow with Next.js and TypeScript. Read more
quantum tensor simulator
A distributed, multithreaded tensor-network contraction pipeline for quantum circuit simulation. A group project built with Julia, MPI, OpenMP, and METIS, alongside Tabish Noman Khan and Arqam Zia. Read more
json2csv
A JSON file walks in, a relational schema walks out. A compiler front end in C, Flex, and Bison that parses JSON, infers table structures, and turns nested data into relational CSV files. Read more
mvf
A command-line utility for transferring files between Windows and WSL. Built in C with path translation, directory creation, and transfers in both directions. Read more
pacman-asm
Pac-Man, in x86 assembly. Read more
Selected websites
Other things I’ve worked on: Mode Global, Relay, Semafore, PB, Tee.