Thoughts on code, creativity, and the chaos in between.
Scrapped the entire bridge system and rebuilt it around entities, lineage, and visual echoes—24,000 bridges that can actually explain why two garments are connected.
Thirty files moved, twenty-three tests fixed, a temporal classifier rewritten, and seven changes to the narrative engine—all so a Dockerfile can be five lines instead of fifty.
Six-dimensional bridge classification, contrast detection between garments that share structural DNA but argue opposite aesthetics, and a social function explorer that asks how different cultures solve the same problem.
Three new bridge fields for cross-cultural garment connections, a Supabase DNS outage, and brute-forcing AWS regions to get the database back.
Replaced MMFashion with Claude Vision, built a 20-term controlled vibe vocabulary for the knowledge graph, and designed a feedback loop that lets the era taxonomy grow from the data.
Twenty migration steps done, one database eliminated, and hundreds of lines of sync code deleted. The full Supabase cutover, from test rewrites to stale bridge cleanup.
Migrated Vintage Vestige from Qdrant to pgvector in a single session — then designed a knowledge graph with AWS Neptune and Getty AAT mappings for what comes next.
17 hand-typed React components in a day — from design tokens to bridge primitives, plus the TypeScript patterns that made composition click.
13 Pydantic schemas, 13 FastAPI endpoints, and a payload gap between two Qdrant collections that would have broken image search.
7,324 style bridges connecting garments across eras and categories — plus the data bugs I caught along the way.
How I built a semantic search engine for historical fashion collections using Claude, CLIP, and vector embeddings — and what MindCap taught me about input quality.
The hardest part of working with AI isn't the code — it's the context. Here's the documentation system that made long-term AI collaboration actually work.
Full-stack refactor complete: replaced a 15-category system with five behavioral intents, deleted 1,212 lines, and caught a silent bug hiding in the pattern detector.
Two phases into replacing MindCap's categorization system with intent detection. Simpler, broader, and half the code.
I ran keyword extraction against 56,000+ real browsing records and found the system only understood programmers. Here's how I redesigned it.
Rethinking topic categorization by prioritizing content signals over domain signals, plus URL garbage filtering.
Development diary on rabbit hole tracking, keyword extraction, and the cognitive overhead of building alone.
Escaping Intermediate Hell, rebuilding in React, and rediscovering my voice with the help of AI.
The biggest, most ambitious project I've ever built—and an honest look at the difficulties of inferring attention from observable behavior.
Transforming raw browsing sessions into meaningful insights about what topics capture your attention and how that interest evolves.
The story of building a browser extension to understand where your attention actually goes online, and what it's like to develop with Claude as a thought partner.
Building a Python tool to crawl 56,000+ URLs from my Firefox history and discover what I've actually been doing on the internet.