← Builds

Build · Internal

Spirit Spy

A private, self-hosted catalog for a personal spirits collection: snap a label, let a local AI read and enrich it, and keep every detail on hardware I own.

Read the build-it-yourself PRD ↗ Download the Markdown ↓

Personal tool · photo-to-label intake · local vision and web enrichment · shared as a build-it-yourself PRD

Challenge

A trip to Hanalei Spirits sent me home with six bottles of rum, dropped into a collection I had quietly stopped keeping track of. It had grown a bottle at a time, each one tied to a place or a moment, and the shelf had tipped from collection into "wait, do I already own that?" Every app I looked at wanted me to hand my data to someone else, pay a recurring fee for something I would use in bursts, and still gave me no easy way to show and share the collection. I wanted a simple, private record of what I own that I could keep current in seconds and share on my own terms.

Build

The hard parts were already running on my own hardware from earlier builds: computer vision from a heuristics tool, web search and retrieval from a research tool, and a CPU background-removal service. Spirit Spy wires them into a single flow.

Spirit Spy's Add a bottle screen: snap or upload a label and the model fills in the form

I snap a label, a local vision model reads it, and I confirm what it found. Curved glass, handwritten batch numbers, and wrap-around labels make a clean read hard, so web enrichment fills the gaps: it searches for the bottle, pulls only the facts the sources actually state, and stores those sources on every entry.

A Spirit Spy entry across four panels: the captured photo and read, the AI-written details with cited sources, the enriched fields, and the per-bottle records

The same flow lifts each bottle off my messy basement background and floats it on a styled backdrop, so an amateur phone photo turns into a product-looking shot in seconds. The whole loop, from photo to saved entry, takes under a minute a bottle.

Outcome

Every bottle becomes a complete entry: cited detail, a cleaned-up product shot, tags, and a published card, all from a photo and a few taps. It deliberately leaves out pricing and collection value, the one feature the subscription apps sell and the one I was glad to skip, because this is about the experience and the memory each bottle holds.

The Spirit Spy showcase, A personal shelf cataloged, each bottle a cleaned-up product shot on a dark backdrop

The same foundation now feeds a wishlist, so a bottle spotted in the wild can be photographed, enriched, and saved for later, ready to promote into the collection if I bring it home. The collection lives as a public showcase at spiritspy.gogomito.com, every bottle floated on its backdrop and filterable by category and region.

A bottle's detail page in Spirit Spy: Hanalei Rooster Rum with its specs, tasting notes, label text, cocktails, and cited sources

I am sharing it as a build-it-yourself PRD: hand the brief to your own AI agent, on your own hardware, and build your own catalog for whatever you collect. The framing fits any collection, and my comics are next.

The Stack

I build the hard parts with Claude as my pair, then local models carry the everyday work on hardware I own. No external model API and no per-token bill, so a personal catalog stays genuinely private: my data, my photos, my shelf.