Lab
Demos of the search and retrieval actually running on this site, and below them the side projects that never grew into case studies. Expect rough edges.
Running here
Semantic search demo
Try a query. This is hybrid retrieval over my essays: results are fused from vector similarity and keyword search, so a post can rank on meaning, on wording, or both. Each result says which one caught it.
Toy text similarity
A tiny cosine-similarity demo, scored on word frequency rather than on embeddings. Reword one of these to mean the same thing without reusing its words and the score collapses — that gap is the whole reason retrieval uses embeddings instead of this.
Elsewhere
Quantum sensors, numerology, a Fediverse server, and a deck of cards for when the work stalls. None of these are a portfolio piece. All of them run.
- Creative block
Grasping Straws
A deck of lateral-thinking prompts in the spirit of Brian Eno and Peter Schmidt's Oblique Strategies, with entirely original card text. Tap, get a card, tap again. Static Astro, and the built output ships zero framework JavaScript. - Minecraft
Patina & Chime
A vanilla+ Fabric mod for Minecraft 26.2. Copper ages, and each age has its own job: a hopper changes what it does as it oxidizes, and wax locks the one you want. Amethyst hears, so a jukebox nearby grows crystals faster and one note block harvests them. - Esoterica
Numen
Numerology read across both the Pythagorean and Chaldean systems, with tarot birth cards and astrological correspondences, styled as a dark grimoire. Nonsense taken seriously enough to implement correctly. - Film
Movie Conceptualizer
Fountain screenplay in, shot list and storyboard out, via a set of agents that each handle one stage of pre-production rather than one model doing all of it badly. - Music
Album Conceptualizer
A workspace for building coherent concept albums — structure, theory, and export handoff. Deliberately not a one-prompt song generator; it is strongest at the album-level coherence that those tools ignore. - Music
Free VST Plugins
A manifest of free audio plugins, each pinned to a download URL and a SHA-256 hash, and a downloader that refuses any file that no longer matches. The existing lists are affiliate-farmed and half the links are dead; these at least know when something changed. - ML
HuggingFace portfolio
Sixteen published projects on the Hub — datasets, fine-tuned models, and interactive Gradio Spaces across NLP, vision, and generative work. - Music
SpotifyForge
A CLI and MCP server that turn a library of liked songs into genre playlists sequenced to flow. It also keeps its own listening log, because Spotify only remembers your last fifty plays, and the tests run against an in-memory Spotify rather than mocks. - Records
discogs
A Python library and CLI for the Discogs API that syncs a collection and wantlist into a local cache — the groundwork for recommendations that know what is already on the shelf. - Discipline
75 Create
The 75 Hard format bent toward creative work: five daily tasks, seventy-five days, and a log of the output at the end. Runs entirely in the browser with no backend and no account. - Open source
bounty-scout
Ranks open-source bounties by expected dollars per hour, and by whether finishing one is a hiring signal. Read-only by design: it finds the work and never touches it. - Design
ui
A shadcn registry holding the theme and components my apps share, installed straight from the shadcn CLI, so a fix to a button lands everywhere instead of being copied around. - Agents
skills
A Claude Code plugin for Next.js, React and Supabase work: slash commands, skills, agents and hooks, packaged so the conventions travel between repositories. - Education
Moneta
An iOS and Android app that teaches personal finance in five-minute lessons. - Careers
resume-AI
A job-search toolkit whose ATS score is deterministic, so the same resume gets the same number twice. Tailoring and cover letters on top, across OpenAI, Anthropic, Google or a local Ollama model.