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.
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.
ranked by how proud i am of them
my actual reading tracker — wishlist, currently reading, finished, DNF, the whole shelf.
drop in a CSV, get instant stats and charts back — the data-brain half of me showing up.
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.
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.
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.