Not everything ships as a case study

The other things I've built.

FreelanceCFO and TrustLens get the polished write-ups. These didn't, but they're just as real. Some finished, some abandoned mid-sprint, one running quietly in production for an audience of four.

in progress

Steward

A personal document memory system. Upload something, it gets OCR’d and read, and later I can just ask about it instead of digging through folders trying to remember what I named the file.

  • Supabase
  • Groq, Llama 4 Scout
  • Tesseract OCR
  • Resend

Design language is warm charcoal with an amber accent and parchment surfaces, closer to Arc Browser and Apple Notes than a typical dashboard.

spec’d

Verdict

A GitHub App that looks at a release before it ships and hands back a verdict: approve, review, block, or unavailable, posted straight into GitHub's own Check Results instead of a separate dashboard.

  • GitHub App
  • Check Runs API

Previously called LaunchGate. Before writing any code I put together a full 12-document spec suite, written so an AI coding assistant could pick it up and actually build from it.

built

Lev1r

A tracker for scholarships, competitions and programs, so application deadlines stop living across seventeen browser tabs and a sticky note I'll definitely lose.

  • Four-tab status board

Built for my own applications first.

shipped

Om Bhajan

A bhajan app for my grandparents. One shloka a day on a rotating card, a circular artwork player with a gold halo animation around it, dark glassmorphism throughout.

Smallest audience of anything on this page. Also the one I'd least want to take down.

shipped

The group chat

A single-file HTML chat room, built for four friends because a group chat between us didn't need anything bigger than one page and a realtime table.

  • Supabase Auth
  • Supabase Realtime

Still running. No plans to ever turn this into a product.

shipped

whoami

A page that fingerprints you and roasts the result. It reads your GPU, installed fonts, screen geometry, timezone and battery straight out of your browser, types the dossier out like a terminal, then names your device, or admits it can't and dares you to email it about it.

  • WebGL
  • Canvas
  • SubtleCrypto
  • Web Audio

Every signal it uses was already sitting in the open, handed to every page you load. Nothing is transmitted; there's no server behind it to transmit to. When the signals don't add up it prints UNIDENTIFIED rather than inventing a device, which happens more often than the bragging suggests.

Let it read your browser

Some of these will get proper write-ups eventually. Some are staying exactly like this.