PERSONAL PROJECTS
Side projects at the intersection of data, AI, and whatever I'm currently obsessed with.
Agentic Tools
AI tools that ship with a Claude Code skill, each with a hard line the model is not allowed to cross: the inbox stays read-only, a human writes the Wikipedia article, nothing gets deleted.
Internet Historian
A patient Wayback Machine archiver. It treats a busy Internet Archive as weather rather than failure and retries until your pages are actually preserved.
Wikipedia Gap Finder
Finds people from underrepresented groups missing from English Wikipedia and fact-checks every claim into a research dossier. The AI does the detective work; a human writes the article.
Inbox Catalog
A local-first, read-only engine that turns order emails into a structured catalog of what you own, what's coming, and what you spent.
MyFigureCollection API
Unofficial API for MyFigureCollection.net, written after eight years of an officially promised API v4 that never shipped. A Python library plus a local MCP server with 12 tools, covering item search, JAN barcode lookup, partner shop prices, collections, and clubs.

Hamster Wheels
17-agent AI system for personal life management, built in Craft on Claude MCP. Each agent owns one life domain: triage, career, finance, events.
Hamster Sweep
Background intelligence sweeps for two domains: Japanese reading practice from live news, and structured job-opportunity cards. Results land straight in Craft via MCP.
Desktop Pet Rescue
Cute Windows-only desktop apps, given a second life on native macOS. The original developers did the hard, lovely work; I do the porting, credit them prominently, and send fixes back upstream.
Yaha-Pet for macOS
Native macOS port of gitChara-dot's Yaha-Pet: Usagi, Hachiware, and Chiikawa roam the desktop. Two bug fixes offered back upstream in an open PR.
Desktop Chiikawa for macOS
Native macOS port of CookieElmo's wellness-reminder pet from itch.io, rebuilt on the official Godot runtime. It reminds you to drink water.
Data & Pipelines
Pipelines, sync engines, and the observability habits that follow me home from work.
Anime Analyst
Natural-language query system over 25k+ anime entries: PostgreSQL, a local ReAct SQL agent, and a Streamlit frontend. CMU capstone, presented at Anime Boston 2026.

Twitter Archive Pipeline
ETL pipeline that turns Twitter/X export files into a searchable dataset with NLP sentiment and topic classification, built for longitudinal self-analysis.
Digital Wellness Through Data
Interactive case study mining a decade of personal social media data (26,720 Twitter likes, 4,500 saved YouTube videos, 500+ LinkedIn connections) to reveal what the algorithm sees. CMU data mining final project, published as a scrollytelling site.
Earditor
Evidence-based music tagger for macOS that cross-examines three independent witnesses (Shazam, AcoustID + MusicBrainz, iTunes) into six scored signals and a verdict tier per file. Treats a cover as a first-class verdict instead of a wrong catalog match, and never writes a tag it can't prove.
MangaRelease
Automated open-data release calendar for licensed English manga, manhwa, manhua, and webtoons, forked from LNRelease's engine with a rebuilt VIZ scraper and historical calendar backfill. Daily and weekly GitHub Actions scrape 15+ publishers, auto-commit, and auto-deploy the site with no human in the loop.
Media Collection Sync Engine
Media-collection sync engine keeping 1,600+ records aligned between a REST API and cloud storage, using GPT-4o fuzzy matching with a human-in-the-loop review UI.
Repo Observatory
GitHub keeps only 14 days of repository traffic history, so a private pipeline snapshots every repo daily into permanent CSVs with a self-updating README dashboard. SRE habits, applied to side projects.
Fandom & Community
Tools that exist because a community needed them, or because I did.
Which Odyssey?
Recommendation quiz that matches readers, viewers, and listeners to the right Odyssey adaptation. 24 static pages covering 17 versions (translations, film, novels, albums, games) with structured data and FAQ content built for search and AI answers.
Which Adaptation?
Hub for a family of adaptation guides built on one recommender engine and one catalog model. Every story gets its own property, quiz, and comparison matrix, with structured data and FAQ content built for search and AI answers.
Uma Musume Q&A Bot
Citation-first RAG Discord bot for Uma Musume game mechanics, answering with page-level source attribution from a 200+ page community reference doc.
K-Pop Button Maker
Desktop GUI that turns K-pop idol photos into convention-ready 1.5" button designs: automatic face detection, production-spec cropping, bleed margins.
Campus Freebies
An agent-maintained catalog of free student and alumni perks: searchable list, campus map, weekly link checker. Live for Dartmouth and CMU; forkable for any school.
Odds & Ends
Research, writing, and one very effective decluttering app.
Data Gremlin Go Brr
Substack newsletter on AI tools and data systems for practitioners: the intersection of technical work with everyday life.
GPT-3 Mobile Gaming Research
Dartmouth senior thesis running experiments on GPT-3 months before ChatGPT's release, analyzing mobile-gaming monetization and player behavior.
Home Zone Tracker
React SPA for tracking apartment decluttering zone-by-zone: 15 zones, sprint mode, deadline countdown. Built for real use before a trip.
Osier
Notch-native dictation for macOS, and a hard fork of OpenSuperWhisper. Tap Fn and Control, speak, tap again, and the transcription lands in whatever field was already focused. The upstream project owns the engine; this fork reshapes the trigger and the interface.