Projects
Deployed work and active experiments, each tagged with a lifecycle status.
Cards link out to the project URL.
Deployed Projects
Products that are live & actively maintained, or that I've put to bed in a good state.
GitHub PRs & Actions Sidebar
A Firefox sidebar to track PRs that need my attention and run CI/CD jobs.
Built to handle my own needs as a team lead in the age of vibe coding
Games
A daily game about numbers, that you can share with your friends a la Connections or Wordle.
Currently working on a wheel-of-fortune Wordle variant
Tools
Small utilities I reach for on a semi-regular basis, runs locally in the browser.
Data transformation, microphone/camera tests, and more
Tab URL QR Code Generator
Turns the current tab's URL into a QR code so you can open it on your phone.
My first browser extension in over a decade!
Course Scraper
Scraping tool for the Daily Illini (UIUC's student paper) to help students make informed course selections.
Written as a part of the Daily Illini's web team
Castle Doctrine
A simple static site, but I love the story behind this one :)
One of my first fully vibe-coded projects, through the ChatGPT UI
Bunny Game
A fidget toy I bulit for my partner at the time: what happens when you strip the “game” out of a video game? Built in godot
Really helped with her anxiety!
Instant NotePad
A simple Chrome notepad from college for jotting notes across many research tabs, and saving information for later.
My first foray into releasing software publicly
Experiments
Prototypes, half-baked ideas, and projects that aren't quite ready for the public yet.
Tunnel
Open a tab in your browser and immediately proxy HTTP from localhost to a public domain a la Ngrok/localtunnel. HTTPS works; Websockets are broken right now.
Also need to figure out SSL termination at some point
Dungeons and dRAGons
Run a D&D-style campaign with an AI dungeon master. This was an early exploration of the “Reverse MCP” pattern I've been playing with
As I began to realize the potential for the reverse MCP pattern, it became clear that I needed a total rewrite.
Newtond
A logging pipeline plus TUI from one of the hackathons I host at my place: logs, metrics, and tracing as one observability surface instead of three silos.
Named after Newton the Dog, who signed his image rights over for a single kernel of popcorn
IAM Server
OAuth/OIDC-ish server experiment without pre-registered client IDs and secrets. Doesn't conform to the standard, may never do so as I'd like to improve on the footguns of OAuth.
Dynamic client registration really helps with the federation use-case.
Git Shell
A Git shell that can create new repositories on the fly without a separate git init --bare step.
Built on go-git.
GraphQL GUI
First Flutter experiment, open-sourced from a hackathon at Secureworks: a GraphQL request harness.
Legacy experiment; needs repair to run again.
Note
Internal hackathon project from Secureworks: take notes in the terminal and refer back without leaving the shell. Indexed and searchable by keyword
Might come back to this one with the advent of local AI & RAG.