What it does
Plan a binder page before you move a single card. Import what you own from Collectr, TCGplayer or pokemoncard.io, lay it out in named binders that remember every pocket, span one piece of art across several pockets, and take the missing list to a show. A full, ad-free Pokédex comes attached, because most people who collect the cards also want to look something up.
Currently
Live at lowkeydex.com on its own domain and repo since the September 28 cutover, and every old k8mak.com/pokemon link, share links included, lands on the matching page. It is a card tool with a Pokédex attached. Named binders store a real layout: every pocket holds a specific printing, a wanted card, a sleeve, or a gap left blank on purpose, with undo, 9 or 12 pockets a page, and suggestions for what fills an opening. The two gaps this page used to confess are closed: binders store rather than sort, and a single card's art can span a block of pockets. Three binders are free; more binders, the trade binder, the printed show list and inventory are a paid unlock since October 1. Around it: want, grail and fave lists, trade night with a printable missing list that works with no signal, trade links and friends with live matches, set and artist pages, Deck Check, guides, a blog built from its own data, and names in nine languages. The honest gap now is distribution. The Reddit launch post is written and checked claim by claim against production, and it has not been posted, so the numbers below are still all me. The deadline is October 19.
Roadmap
/now-next-later-roadmapNow/Next/Later Roadmap- Post the Reddit launch by 2026-10-19, on Self Promo Sunday October 4 or 11
- Close the gap between what the site charges and what its own posture document allows, or switch the paid flags off, by October 16
- Fix the North Star query so lists, binder slots and inventory count, before the first real reading
- Make every public sentence about money and privacy true, and hold user-listed card shows for review
- Read the Search Console compare on October 12
- Who's That fixes, and a reveal that opens the dex card
- Ask the card-data sources for price display terms
- One conversation with a shop owner
- Card Shows: land the open work, send the permission emails, then freeze it
- An install prompt, so signed-out collections survive on an iPhone
- What you get free, shown on every paid gate
- Nothing moves up because it is ready. It moves up when a reading says the problem exists
- Gated on a non-Kate Collection WAC above zero and a week-4 number
- Kid-safe checks extended to videos and screen pages
Recently shipped
- Sep 30, 2026Sleeves in binder pockets, one press to fill the open pages, a Faves heart on every card, and 1,859 checked name origins on the dex pages.
- Sep 29, 2026Friends with live trade matches, public binders on a trainer page, trade binders built from the cards you own, card condition from NM to DMG, format legality per printing, a page per card, and Deck Check: paste a deck list and see what you are short of.
- Sep 28, 2026Cut over to lowkeydex.com. A redesign landed the same week: a foil palette, dark by default, a new mark, and one page header across the site.
- Sep 28, 2026Suggestions to fill a binder opening, by evolution line, then family, then artist, then colour. Multi-step undo in a named binder, and English and Japanese kept apart in set and number sorts.
- Sep 14, 2026Guides, a glossary with a drawn mark per term, a themes system, set completion ranking, and a public read-only MCP server over the card corpus.
- Sep 13, 2026Set pages, a section for card artists, and all 1,025 dex pages given real content and let into the index.
- Sep 10, 2026Printable binder inserts at true card size, and a binder's holes turned into a list you can take to a show. The old wishlist retired, because nobody had ever written to it.
- Sep 9, 2026Named binders with a stored layout, and art panels that fill several pockets with one crop of a card you own. Printings told apart on import, graded slabs, and an Inventory for bulk, sealed and gear.
- Sep 9, 2026Moved the card data to TCGdex behind a cache of its own. A Grass browse went from 13.8 seconds and a 500 to about half a second, and imports stopped silently losing half a file.
- Jun 2, 2026Started life as Pokémon Explorer, a section of k8mak.com: a Pokédex browser, type tools and Who's That. The binder view followed a day later.
How I know it's working
live data · last 30 daysUnique signed-in people with at least one collection action in a trailing 7-day window, excluding demo mode and read from the database, never the event sink. The deployed function has to be fixed before it means anything: it counts cards owned and import rows, and it does not count Want and Faves lists, named-binder slots or inventory, though all three shipped as collection actions. A stranger's likeliest first move, tapping Want on a card page, would read as zero. Reported as non-Kate Collection WAC, which is 0 today.
pokemon_binder_viewedpokemon_import_openedpokemon_import_startedpokemon_import_completedpokemon_collection_sharedHow it's built
How I built it
lowkeydex started in June 2026 as Pokémon Explorer, a section of this site: a fast Pokédex, a type chart, and a binder view I built for myself. It outgrew the section. It now has its own name, its own domain and its own repo, and a settled answer to the question it kept circling: it is a card tool with a Pokédex attached, not the other way round.
That answer came from counting, not from a strategy session. The card side was already most of the code, and the Pokédex job is the most saturated query space on the consumer internet. Serving it well for the people already here is worth doing. Competing for it is not.
What the counting changed
I used to say no other collector tool did binder layout. In September I went and checked, and I was wrong twice. There are eight Pokémon binder tools, four of them know what you own, and one of them ships free the exact loop I had called unique: lay out a binder, get a list of what is missing, take it to a show.
The line I fell back on was a multi-pocket art panel over a collection that knows what you own, free. I shipped it on September 9, and on October 2 that line fell too: PocketRune ships free art panels over owned and wanted marks, and had when I wrote the line. I had checked its slots and never opened its art tool. That is three positioning lines out of three, each falsified by opening the competitor's page, and the pattern is the finding: in a field of a dozen small tools copying each other within months, any single-feature claim dies. What survives is a bundle, with no uniqueness claim in it: a Pokémon card tool with a Pokédex attached. Bring your collection in from the app it is already in, plan the binder pages, and take the missing list to a show. Import breadth is the strongest clause, nine paths against one CSV at the closest rivals.
The same habit of counting before building killed a feature. The wishlist had a nav slot, a badge and 476 lines of UI, and its table had zero rows. Its only possible user, me, kept a 288-card want list in a different app. It was retired, and wants came back as something you notice while filling a page, which is how collectors actually find the holes.
The data layer was the unglamorous half
The original card API was not slow, it was unreliable: three identical requests came back 500, then 200 after seven seconds, then 502. The switch to TCGdex was measured first (a near-strict superset of my 2,537-card collection, with 98.6% of old card ids mapping across), then put behind a cache of its own. A Grass browse went from 13.8 seconds and a failure to about half a second. The import had been silently losing about half of a real file in production; on the same sample against the cache, it matched every row.
The honest situation
The product is now far ahead of its audience. September shipped named binders, art panels, trade tools, friends, guides and a redesign, and the Reddit launch post has been written, checked claim by claim against production, and not posted. The pre-mortem named this exact failure in advance: the comfortable move for a solo builder is to keep building, and the valuable one is to post the launch and read the cohort. The next number that matters is Collection WAC from someone who is not me.
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 have a pile of cards and an empty binder, I want to decide what goes where before I sleeve anything, so I can avoid ugly gaps, orphaned pages and a layout I will have to redo. | high | low |
| When I am valuing, trading or chasing a card, I want to know which printing I am looking at, so I can avoid paying for the wrong one or trading away the valuable version. | high | medium |
| When I pull new cards or come back to a collection I have not touched in a while, I want to know exactly what I have, so I can stop buying duplicates. | high | medium |
| When I plan a page or go to fulfil a trade, I want to know whether a card is in this binder, another binder, a toploader or a slab, so I can plan a layout that matches reality. | medium | medium |
| When my collection has drifted from what I care about, I want to work out what to trade, so I can turn cards I do not want into cards I do. | medium | low |
| When I look at my collection, I want to see a concrete, achievable next step, so I can feel progress instead of an undifferentiated pile. | medium | high |
| When I need a type matchup, an evolution chain or a stat, I want to get it fast and leave, so I can get back to what I was doing. | low | high |
Persona
/persona-createPersona Create- See every page before moving a card
- Know which printing each hole wants
- Keep a short list of chase cards in view
- Trackers catalogue well and cannot show a page
- Imports that quietly lose rows
- Free tools that start charging, especially for marking a card owned
Persona
/persona-createPersona Create- See the missing list in the order the seller's box is sorted
- Never buy a card I already own
- Signal drops at the door, and the list has to open anyway
Persona
/persona-createPersona Create- An import that matches the columns I already keep
- A per-species checklist with a row per printing
- Two systems to maintain, and only one of them shows a page
Persona
/persona-createPersona Create- Identify a card from its set symbol and number
- A rough value, then an import
- No public card page shows a price yet
Persona
/persona-createPersona Create- Get the answer without ads, and leave
- Wikis are slow and ad-heavy for a quick lookup
Persona
/persona-createPersona Create- Fill the dex and see the progress
- No next step once the easy catches are done
Persona
/persona-createPersona Create- Let buyers see my stock before they reach my table
- Publish an accurate vendor list for my show
- Listing everything twice
- Customers who have to call the store before visiting
Prioritization and risks(the internal detail)
ICE prioritization (October 2026 package)
/rice-scoreRICE Score| Item | Impact | Conf. | Ease | Score |
|---|---|---|---|---|
| Fix the Collection WAC query to count lists, slots and inventory | 8 | 9 | 8 | 576 |
| Make every public sentence about money true | 7 | 9 | 9 | 567 |
| Admin access through Google sign-in only | 7 | 9 | 8 | 504 |
| Vendor shops: finish the DMCA agent and terms, or switch them off | 8 | 9 | 7 | 504 |
| Put "Try sample cards" on the planner's first screen | 7 | 9 | 8 | 504 |
| Legal read and image-licence answers before charging | 9 | 9 | 6 | 486 |
| A privacy page that describes today's product | 6 | 9 | 9 | 486 |
| Hold user-listed card shows for review before they are indexed | 7 | 9 | 7 | 441 |
| Post the launch | 10 | 5 | 8 | 400 |
| Three events: checkout, missing list printed, suggestion acted on | 6 | 8 | 7 | 336 |
Impact × Confidence × Ease, each 1-10. ICE replaced RICE because the Reach column had no data in two packages. Confidence is capped at 5 for any bet no user but me has touched, which is why posting the launch scores below the fixes that make its result readable. The fixes can land in a day; the post's deadline is 2026-10-19 either way.
Pre-mortem tigers (October 2026 package)
/pre-mortemPre-mortemThe launch post does not go out by 2026-10-19. It has been written and claim-checked since October 1, and in the same weeks 442 commits shipped. Building is comfortable; posting is not.
highMitigation: Post on Self Promo Sunday, October 4 or 11. On October 19, post whatever is true that day.
Money and rights ahead of the prerequisites: the paid unlock and the shop tier are live before the legal read and the image-licence answers the site's own posture document requires.
mediumMitigation: Record the answers, or switch the paid flags off. The switch-off takes minutes and is reversible.
The first reading is wrong: a stranger's likeliest first action is one the North Star query does not count, so a launch that worked reads as one that did not.
highMitigation: Fix the query before the post, and read attribution from GA4 until the event sink records where visitors came from.
A stranger meets a contradiction about money or data: the About and privacy pages still say free while checkout is live.
mediumMitigation: One pass over every public sentence about money, privacy page included, before the post.
The freeze does not hold: sessions keep adding public surfaces while no stranger has used the ones that exist.
highMitigation: Close any change that adds a route or sitemap family before a non-Kate reading exists.
The paid test cannot conclude: nobody reaches the gate, and that gets read as the price being wrong.
highMitigation: Instrument upgrade, trial and checkout, and read the price only over people who hit the cap. Under 10 by year end means unread, not failed.
Signed-out collections on an iPhone vanish before the second visit, which is the week-4 test.
mediumMitigation: An install prompt, and one line in the launch thread: sign in if you want it kept on an iPhone.