Build · Internal
Comics Collector
A private, self-hosted catalog for a comic collection three decades deep: import the shelf, enrich every issue against two comic databases, and browse the whole run on hardware I own.
Challenge
Somewhere across thirty years the collection got ahead of me. Around 2,190 issues, most of them from the amazing era of 1978 to 1989, sat in a desktop cataloging app: every issue logged, and the app was as far as any of it went. I had just given my spirits the private, self-hosted treatment I wanted, so the comics were the obvious next collection. They raised a harder version of the same problem. There are thousands of them, and the details that make an issue worth keeping, the creators, the characters, the story, and the key issues, live scattered across databases that belong to other people.
Build
I started from the Spirit Spy recipe, a private catalog with local enrichment and a public showcase, all on my own hardware, and pointed it at the comics. Import joins the two halves of the collection's export, an XML of covers and a CSV of creators, into one catalog of every issue.

Then comes the part that goes further than a shelf of bottles. With 2,190 issues to cover, I needed enrichment that works in bulk, so I stood up the entire Grand Comics Database locally and matched my collection against it, then layered ComicVine on top for covers, synopses, and cast. A deterministic scrub, matched on exact catalog fields, brought 2,157 of the 2,190 issues to a clean, sourced baseline in a single pass.

Outcome
The collection lives as a public showcase at comics.gogomito.com, a longbox grid where every cover fades into its indicia, browsable by publisher, era, and decade from a faceted rail. Each issue's detail page merges everything both databases know about it, with the sources kept on the entry. The banner rotates through original hero art generated locally, my own fictitious heroes.


Where Spirit Spy enriches one bottle at a time, Comics Collector augments a whole collection at once, and it reaches past the data too. The entire brand is documented as a living design system at comics.gogomito.com/design-system/, every component rendered from the real production stylesheet. Like Spirit Spy, it skips pricing and value on purpose. This catalog is about the era and the hunt.

The Stack
- A desktop export (covers plus creators) imported and joined into one catalog of ~2,190 issues
- The full Grand Comics Database, stood up locally and matched against the collection for creators, characters, and story detail
- ComicVine layered on top for covers, synopses, and cast, with sources kept on every issue
- A deterministic scrub matched on exact fields, to a clean sourced baseline of 2,157 of 2,190
- Original hero art from a local image model, no borrowed capes
- A public read-only longbox showcase, plus a living design-system page rendered from production code
- Mac Mini M4 for development, a dual-GPU Linux server for inference
