PageKeeper
Full-stack reading tracker with Goodreads import, dedup, and a genre-aware rating engine.
Each one starts with a dataset or a manual process, and ends with a schema, an API, and an interface someone could actually open and use.
Full-stack reading tracker with Goodreads import, dedup, and a genre-aware rating engine.
Drop in a CSV, get instant stats, charts, and a correlation explorer back.
Two small apps for getting past the blank page, sharing 515 original prompts. The Prompt Genie Jar runs a MASH-style countdown to pick a prompt for writing by hand; Ghost Write hides your words as you type, with no backspace and a timer. A prompt from the jar opens straight in Ghost Write.
A retrieval-augmented chatbot that answers plain-language questions about a company's 10-Q filing and cites its sources. Built on Microsoft Foundry and Azure AI Search.
A gpt-4o copilot that answers customer questions about outdoor gear (prices, specs, warranties, comparisons) using only the product catalog, through an Azure AI Search knowledge base. Scored 4.73/5 on accuracy and 5/5 on grounding in automated evaluation.
Turns a spoken customer complaint into a categorized support ticket with visual evidence: Whisper transcribes it, an image model pictures the problem, GPT-4o vision finds and boxes the issue, and GPT-4o files it under the right product category. It's the project closest to my day job: it blends the customer service work I do now with building ways to make complaints and issues actionable.
A Flask article CMS deployed to Azure App Service, with Azure SQL for content, Blob Storage for images, Microsoft sign-in, and login logging.
A spreadsheet turned into a full library system with event-driven automation. Now being rebuilt as PageKeeper.
My first published Opera GX mod — a full theme shipped through Opera's JSON-based mod API.
Generated with AI, then hand-edited in Affinity — every rune mark repainted pixel-by-pixel to read as printed directly onto skin rather than composited on top. Pairs AI generation with manual raster editing and retouching skill.
things i built instead of sleeping
my actual reading tracker — wishlist, currently reading, finished, DNF, the whole shelf.
I started this with AI generation, then spent a while in Affinity by hand, editing the runes pixel by pixel so they'd actually look printed onto her skin instead of just pasted over the photo.
Not only a project I built, but also the face on my gamer tags — because I am secretly a Shadowhunter. Shh. 
you complain out loud, it listens, pictures the problem, draws a box around what’s broken, and files your ticket in the right department. all from one voice note.
this one’s closest to my day job — it mixes what i do every day in customer service with building ways to make complaints and issues actually actionable.
pick your energy, shake the jar, and a MASH countdown crosses out genres and prompts until one is left standing. print it for your notebook, or send it straight to Ghost Write.
type with the words hidden — no rereading, no backspace, just you and a timer. reveal it all at the end, if you dare.
This one's special to me — it was the first thing I ever built completely start to finish, and it taught me more than almost anything since. It started as “I just want a nicer way to track my library” and turned into an actual system: event-driven triggers, a custom sidebar and dialogs, Goodreads import with dedup, all of it running inside a spreadsheet. It's not just a script tucked into a Sheet — go peek at it and you'll see what I mean. I'm rebuilding it now as PageKeeper with a real database, but the original's still live.
a chatbot that reads the boring financial filing so you don't have to — ask it about a company's 10-Q in plain english and it answers with receipts.
my first published Opera GX mod. I wanted a project that let me combine three things I love — Star Wars lore, flower design, and full-stack build work — into something people could actually install and use every day.
a shopping-assistant bot for an outdoor gear store — ask it about tents, specs or warranties and it only answers from the real product catalog. it passed its own exam: 9 out of 9 in manual testing.
drop in a CSV, get instant stats and charts back — the data-brain half of me showing up.
a little article site living on Azure — database, image storage, and a sign-in-with-Microsoft button i wired up myself.