What it does
Catalog everything you own across books, records, movies, and games in one library, capture a quick reaction the moment you finish, and decide what to consume next, so your taste compounds into a record that is yours instead of fragmenting across five apps.
Currently
Live. Browser-only, no signup, your data stays in local storage. You can catalog items across media types, rate and tag them, build smart shelves and a wishlist, track what you have lent out, share a shelf by link, and import from Goodreads, Discogs, or CSV. A seed catalog of 235 real items ships with it. The honest gap is that it is uninstrumented, so Media Types Tracked per User is a target, not a number I can steer by yet.
Roadmap
/now-next-later-roadmapNow/Next/Later Roadmap- Core library: add, view, and search across all media types
- Status model (want, in progress, finished, shelved, abandoned)
- Quick-react logging (emoji, star, or note, no mandatory fields)
- Goodreads and Letterboxd CSV import
- Manual entry fallback when catalog search fails
- Archive status (hide without deleting)
- Data export (JSON and CSV)
- External catalog integration (TMDb, Open Library, MusicBrainz, IGDB, Podcast Index)
- What's Next? view with mood, energy, and time filters
- What did I think of this? search across personal notes
- Random pick (decide for me)
- Media diet weekly summary
- Import party onboarding flow
- Lending tracker
- Recommended by [friend] tag
- Year in Review (cross-media)
- Friends activity feed
- Barcode scan for physical media
- Backlog health and time-aware backlog
- Smart suggestions and taste overlap
Recently shipped
- Jun 16, 2026Surfaced Stacks publicly in the Apps catalog so people other than me can find it.
- Apr 7, 2026Seeded the catalog with 235 real items pulled from my own shelf inventory, so the library is not an empty box on first open.
- Apr 5, 2026Shipped responsive layout, a storage v2 schema, shelf polish, and progress tracking.
- Mar 25, 2026Added video games as a fourth media type, RAWG and TMDB and Discogs lookups, smart shelves, collection goals and analytics, dark mode, public shelf sharing by link, and Goodreads/Discogs/CSV import and export.
- Mar 25, 2026Shipped the MVP: a unified media library tracker where you catalog, rate, and tag the books, records, movies, and games you own in one place.
How I know it's working
instrumented Β· awaiting trafficThe average number of distinct media types (books, records, movies, games) in which an active user has logged at least one item in the past 30 days. It is the metric uniquely aligned with the differentiator: every competitor optimizes depth in one medium, Stacks wins by breadth, and a user tracking one type is using a worse Goodreads or Letterboxd.
The events are wired into a privacy-first store. Counts populate here as people use it. This is the honest part of the work: instrument first, claim later.
stacks_launchedstacks_item_addedstacks_bulk_addedstacks_data_exportedHow it's built
How I built it
Stacks started as a personal itch. I have opinions about everything I consume, but they were scattered across five apps, three Notes files, and a dozen text threads. I could not answer the simplest question, what did I read, watch, and listen to this year, without checking Goodreads, Letterboxd, my memory, and a record shelf with no tracker at all. So I ran the same product process I would run for a client on a one-page tool for myself.
What the discovery surfaced
A jobs-to-be-done pass made the core job sharp. It is not track everything, it is know what I own and what I thought of it, in one place, across formats. Five jobs fell out, but two became the foundation: knowing what I own is the reason to adopt, and deciding what to consume next is the reason to return. Capturing a quick reaction is what makes the library compound over time, which is the real switching cost.
That breadth-not-depth insight became the North Star: Media Types Tracked per User. Every competitor wins by going deep in one medium. Stacks only wins if a single person tracks books and records and movies and games in the same place. A user tracking one type is a retention risk, not a success, so the metric keeps every later decision honest.
What shipped, and what's honest about it
RICE ranked the backlog and a Now/Next/Later roadmap drew the line. The cheap, high-leverage wins rose to the top, the status model, quick-react logging, and export, while the social features got pushed to Later on purpose, because social on a weak solo product just exposes the weakness. The first version is browser-only with local storage, no signup, and it ships with 235 real items from my own shelves so it is never an empty box.
The pre-mortem named the two real dangers up front. The first is the cold-start empty library, which the seed catalog and import-first onboarding are built to beat. The second is the unglamorous one: the tool is barely instrumented, so my North Star is still a target rather than a number I can steer by. That is why the honest next bet is measurement and the daily-use features, not new surface area.
The strategy behind it
A snapshot of the product process this app was built from. Each artifact comes from a k8 skill you can run yourself. It reflects the original plan, not the live state above.
Jobs to be done
/jtbd-analysisJTBD Analysis| When I⦠I want to⦠| Importance | Frequency |
|---|---|---|
| When I am trying to find a book, album, or movie I know I own somewhere, on a shelf, in an app, or lent to a friend, I want to search one place that knows everything I own, so I can find it without opening six apps and checking three shelves. | high | high |
| When I finish a book, movie, album, or game and have a reaction, I want to capture it quickly in the same place I track the item, so I can recall my opinion months later when someone asks have you seen this. | high | high |
| When I have free time and want to consume something, I want to see my backlog organized by mood, length, and priority instead of a flat list, so I can pick something that fits the moment without decision paralysis. | high | high |
| When a friend recommends something or I want to recommend something to them, I want to see what people I respect are consuming and rating, so I can discover through taste rather than algorithms. | medium | medium |
| When my want-to lists grow past fifty items and I feel guilty about everything I have not gotten to, I want a way to archive or let things go, so I can enjoy what I am consuming now without anxiety about what I am not. | medium | low |
Persona
/persona-createPersona Create- One place for everything: books, records, movies, and games
- Quick capture that does not break flow, adding shouldn't take longer than consuming
- A personal record that compounds value over years
- The fragmentation tax: five apps, five logins, five incomplete pictures
- Cross-media blindness: no tool answers what did I consume in March
- Physical media gap: vinyl and physical books have no good tracker
- Not everything deserves a 1-5 star rating, sometimes loved it is enough
Persona
/persona-createPersona Create- Track what they consume without it feeling like homework
- Get recommendations from friends, not algorithms
- Remember that thing someone told them to watch when they finally have time
- Setup friction: won't import a CSV or scan barcodes for 200 items
- Too many fields: just wants watched it or want to watch, not rate, review, tag, categorize
- Social noise: wants to share selectively with close friends, not a public feed
Prioritization and risks(the internal detail)
RICE prioritization
/rice-scoreRICE Score| Feature | Reach | Impact | Conf. | Effort | Score |
|---|---|---|---|---|---|
| Status model (want, in progress, finished, shelved, abandoned) | 10 | 2 | 100% | 0.5 | 40 |
| Quick-react logging (emoji, star, note) | 10 | 2 | 80% | 0.5 | 32 |
| Data export (JSON and CSV) | 10 | 1 | 100% | 0.5 | 20 |
| Letterboxd CSV import | 6 | 2 | 80% | 0.5 | 19 |
| Archive status (hide without deleting) | 6 | 1 | 80% | 0.25 | 19 |
| Core library (add, view, search across all media types) | 10 | 3 | 100% | 2 | 15 |
| Goodreads CSV import | 8 | 2 | 80% | 1 | 13 |
| What did I think of this? search | 6 | 1 | 80% | 0.5 | 10 |
| What's Next? mood, energy, and time filter | 8 | 2 | 80% | 1.5 | 9 |
| External catalog integration (5 APIs) | 10 | 2 | 80% | 2 | 8 |
Pre-mortem risks
/pre-mortemPre-mortemThe library is empty: users sign up but never import or add enough items, so the app feels useless because it has no data.
highMitigation: Make import the first thing users do, support every major export format, offer a one-tap quick add with no mandatory fields, and show value even with five to ten items. The seed catalog of 235 items is the first defense against the empty box.
Kate stops using it: she uses it for two weeks then drifts back to Goodreads and Letterboxd because each is more polished for its medium, and cross-media alone doesn't compensate.
mediumMitigation: Book and film logging must be at least as fast and accurate as the dedicated tools. Don't compete on social features, win on the unified view and personal notes that no single-medium tool can offer.
Catalog gaps kill trust: a user searches, gets no result, concludes the app doesn't work, and leaves, especially for non-English, indie, or physical editions.
highMitigation: Manual entry fallback for every media type so the user never hits a dead end, track zero-result searches, and hold a 95 percent catalog hit rate bar before wider release.
Feature creep prevents shipping: with 24 features in the tree, the temptation to build just one more before sharing is strong and the app is never ready enough.
mediumMitigation: Hold a strict Now scope, no social and no premium in the MVP, and commit to a ship date publicly via the Apps shelf listing.
Measurement blindness: the tool is uninstrumented, so Media Types Tracked per User stays a target and every later bet is a guess.
highMitigation: Ship privacy-respecting instrumentation for the input metrics, logging friction, catalog coverage, and items logged, then baseline the North Star before tuning any feature.