A web app for cataloging my comic collection: a few thousand raw books in long boxes and a couple hundred CGC slabs. Books go in by barcode or series-and-issue lookup against locally cached reference data, and every copy gets its own front and back cover, captured from a phone camera or a flatbed scanner driven straight from the page. Graded books render as slabs colored by label type. Runs fill in issue by issue, with the missing numbers left as outlines for the want list. Underneath: one Docker container behind my reverse proxy, SQLite with a database per user, sign-in by passkey, Google, or password with a one-time code, and read-only share links for anyone who wants to look. No cloud, no telemetry, nothing locked in.
SvelteKit and Svelte 5 on Node, Drizzle over SQLite, barcode decoding and OCR in the browser, and a small C# bridge so a flatbed scan starts from the web page instead of the scanner’s own software. In development and live for my own use. The sign-in page is the live build. The screens after it are the design mockups from the spec phase; real captures follow once the boxes are in.