Skip to main content
For Fans

lowkeydex

Pokémon card collectors keep their collection in one app, plan their binders on paper or in a spreadsheet, and look things up on wikis covered in ads. The free page designers cannot see what you own, and the tools that can either charge for multi-pocket art panels or do not offer them.

Launch lowkeydex

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, which is the one thing no free, collection-aware competitor ships. 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 mostly me.

Roadmap

/now-next-later-roadmapNow/Next/Later Roadmap
Now
  • Post the Reddit launch. It is written and fact-checked against production; posting it is the job
  • Read the first real cohort: Collection WAC and week-1 return, not signups
  • Friends and trade matches, tested end to end with two real accounts
  • Fill in missing card art set by set, because a careless match puts the wrong scan on a card and nothing looks broken
Next
  • A roadmap on lowkeydex.com you can add to and vote on
  • A shareable gift list built from your wants
  • Per-card pull odds, measured first, since no per-rarity rates exist in the data yet
  • Games owned and caught, alongside the cards
Later
  • Room for Generation 10 in every dex-order binder
  • The shiny colour layer, waiting on research rather than code
  • Photos of your own binder pages
  • A trivia game built only from facts the data can prove

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 days
North star
Collection WAC (Weekly Active Collectors)2

Unique signed-in people who do at least one collection action in a trailing 7-day window: add, update or place a card, mark a Pokémon caught, or save a team. Computed as a SQL rollup over the collection tables, never an event query, because the analytics sink stores no user id by design. The daily challenge is excluded so a game can never make the collection look healthier than it is.

48
Viewed the binder
6
Opened the importer · 13%
5
Started an import · 10%
2
Import completed · 4%
2
Shared a collection · 4%
Wired events:pokemon_binder_viewedpokemon_import_openedpokemon_import_startedpokemon_import_completedpokemon_collection_shared

How it's built

SupabaseExternal APIsPulls live dataAccountsWorks with others

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.

What none of them ships free is a multi-pocket art panel over a collection that knows what you own. The collection-aware tools either charge for it or cannot do it, and the free page designers cannot see your cards. That is narrow, real and testable, so it became the thing to build. It shipped on September 9.

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…ImportanceFrequency
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.highlow
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.highmedium
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.highmedium
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.mediummedium
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.mediumlow
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.mediumhigh
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.lowhigh

Persona

/persona-createPersona Create
T
The Binder Designer
Me, and not a composite: the only documented user when this was written. 2,537 cards catalogued, a 288-card want list kept in another app, and binders organised by type in dex order. The primary persona and the beachhead.
Goals
  • Lay out a page from cards I own and cards I want, then move the real cards once
  • Be warned when a want is a printing I already have
  • Leave a binder with a short, specific list to take to a show
Frustrations
  • My collection app catalogues well and cannot show a page
  • The free layout tools cannot see what I own, and the ones that can charge for art panels
  • Two printings of the same card collapse into one row, and a 58% price swing hides inside that

Persona

/persona-createPersona Create
T
The Spreadsheet Keeper
A collector large enough that a spreadsheet became necessary, indexed by set, language, count and binder location. Attested through published writing about collectors, never met. The real competitive benchmark.
Goals
  • Find any card's status in under a minute
  • Stop maintaining two systems
Frustrations
  • A spreadsheet is fast, private, free and already correct, and it still cannot show a page

Persona

/persona-createPersona Create
T
The Reference Visitor
Arrives from a search for a type matchup, an evolution or something oddly specific. High volume, low value, and the only free acquisition channel a solo developer has.
Goals
  • Get the answer without ads, and leave
Frustrations
  • Wikis are slow and ad-heavy for a quick lookup
  • They never touch a binder, so they are traffic, not collection value, unless something shows them the binder
Prioritization and risks(the internal detail)

RICE prioritization (September 2026 package)

/rice-scoreRICE Score
FeatureReachImpactConf.EffortScore
Post the rewritten launch9380%0.372
Close the funnel gaps103100%0.7540
Collection WAC as a documented SQL rollup101100%0.2540
Settle the card-data provider93100%0.930
Name the product in the UI100.5100%0.225
Size the Michi demand and the tools serving it61100%0.2524
The move to lowkeydex.com10280%116
Placement: a card goes in a slot and the slot is stored4350%2.52

Pre-mortem risks

/pre-mortemPre-mortem

It is December, Collection WAC is still near zero, and the reason is that the launch never posted, exactly as it did not post in June.

high

Mitigation: Treat posting as the job. If time runs short, cut everything except the launch, the funnel and the domain move, because a launch into an imperfect product still produces a reading and silence does not.

The solo-developer trap: shipping depth features because building is comfortable, while distribution keeps slipping.

high

Mitigation: Name it in the open. September shipped a great deal, and the launch post is still sitting in a folder. That is this risk happening, not a hypothetical.

The launch posts, 300 people come, and Collection WAC peaks at 2.

medium

Mitigation: That is a finding, not a failure. It isolates the problem to the first five minutes, which is a far smaller problem than whether the market exists.

The wrong audience arrives: dex SEO pulls Reference Visitors who never open a binder.

medium

Mitigation: Lead the front page with a binder, not a search box, and aim distribution at binder communities rather than lookup traffic.

A fan project using someone else's IP draws a takedown or looks like it is profiting.

low

Mitigation: A written IP posture checked against the code: no ads, no paid tier, no AI-generated art, and any buy link disclosed beside it and never on a guide, dex or set page.

Built with these skills