Skip to content
bensonhpchengPublic

About

Log your record collection. Offline-first PWA.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Spindex

A PWA for logging a physical record collection.

Its primary job is answering "what do I own?" — including while standing in a record store with one bar of signal. A wishlist and Discogs-sourced valuation orbit that core.

Status

Scaffold in progress (T-01A). See docs/TICKETS.md for the build order, and docs/SETUP.md for every account and console step it depends on.

Design constraint

Zero cost, no card on file. Every architectural decision is downstream of this:

Component Tier Watch out for
Firestore Spark 50k reads / 20k writes / day
Firebase Auth Free Phone auth bills — email + Google only
Cloudflare Workers Free 50 subrequests, 10ms CPU, 6 connections per invocation
GitHub Pages Free No custom domain
Discogs API Free 60 req/min per source IP, shared
File storage none Firebase Storage requires the paid Blaze plan

Cloudflare Workers exist in this stack specifically because Firebase's free tier blocks outbound network calls, which the Discogs integration requires.

This constraint has already removed one entire feature area. Spotify integration was cut in August 2026 after Spotify began requiring a Premium subscription for Developer Mode API access — see docs/SPEC.md §9.

Development

npm install
npm run dev      # local dev server
npm test         # vitest, single run
npm run build    # type-check + production build

Copy .env.example to .env and fill in the Firebase web config (docs/SETUP.md §2.4). .env is gitignored.

Documentation

  • docs/SPEC.md — architecture, data model, feature specifications
  • docs/TICKETS.md — implementation tickets with dependencies and acceptance criteria
  • docs/CONTEXT.md — architectural decision records and their rationale
  • docs/SETUP.md — step-by-step account, console, and CLI setup

Milestones

  1. Usable app, no external APIs (T-01A, T-01B, T-02 → T-05) — manual entry, collection browse, offline duplicate check. Genuinely useful standalone; ship before anything else.
  2. Discogs (T-06 → T-08, T-09, T-13, T-15) — search-based entry, wishlist, price display, attribution compliance.
  3. Recommendations — deferred to v2, redesigned to derive from the collection itself rather than a streaming service.

Attribution

This application uses Discogs' API but is not affiliated with, sponsored or endorsed by Discogs. 'Discogs' is a trademark of Zink Media, LLC.

License

MIT

About

Log your record collection. Offline-first PWA.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages