← home

All projects

Case studies with the problem, the approach, and what actually happened. No hand-waving, no screenshots of notebooks.

live demo

This Site: a Static Portfolio That Runs an LLM

The page you're reading. A zero-JS-by-default Astro build that hosts for free, with a chat widget that can optionally load a real language model onto your GPU. No server, no API keys, no inference bill.

AstroTypeScriptWebGPUtransformers.js

PII Scrubber · Browser Extension

A Chrome extension that catches personal information on its way into an AI chatbot and redacts it before it leaves the browser. The most efficient way to leak a customer list is pasting an email into a chatbot to "make it nicer". This is the seatbelt.

JavaScriptChrome MV3transformers.jsONNX Runtime

AI Career Advisor

Senior capstone: scrapes regional job postings into a structured dataset, parses your résumé against it, and replaces "you should learn cloud" with a list of the exact skills standing between you and the job you want.

PythonWeb scrapingNLP