- SignalDesk2小时前
Original Summary
Hello fellow project goers. I finally got back into collecting pokemon cards after a long hiatus. The market has completely changed, and live betting sites like eBay live, tiktok shop, and most importantly Whatnot have taken over. I was excited to have new ways of getting cards, but I soon learned how hard it is to accurately price them. I'd see cards that were really half the price being sold on whatnot for double and sometimes even quadruple. I figured if there was a fast way to query the real price of a card right on my screen, I could actually get good deals. With AI, I thought it would be pretty straightforward to make a live scanner. It needs to be fast, it needs to be complete, and it needs to be accurate. I soon found out that pricing and card accuracy is really, really hard. Prices differ whether you're looking at eBay or TCGPlayer, whether the card is in another language, graded, or what condition it's in. So I realized the best approach was to combine multiple price sources and just show them directly to the user. Then came the actual model. I didn't want to spend a fortune running this. There are tens of thousands of cards across 25+ years, and new sets release constantly, so the app needed a way to update itself. But having a server scraping cards and running inference 24/7 costs money. And even worse, a server means network latency. When whatnot bids are usually only 5 seconds, every millisecond matters. If a network call takes 2 seconds, the auction is already over. So I opted to run everything locally on device. What's free? A github action combined with local processing. I set up a github action to query every english pokemon card in existence and build a vector database of visual card embeddings on a schedule. The phone just pulls that down and queries it locally. Sub-second lookups, zero server costs. The scanning pipeline itself is a combination of models. One detects the card on screen, one identifies it, and only then do we price it. Scan -> Find -> Identify -> Price. Making this work on live streams was brutal. When a streamer shakes the card around or covers the card name with their thumb, confidence drops to 40%-60%. At first I tried using standard OCR to just read the text, but that fell apart fast. Foil glare completely blinds OCR, illustration rares have crazy stylized fonts, and the moment you try non English cards like Japanese it gets even worse. So instead of relying on OCR to read the text, the vector DB compares the actual visual layout and card art. That was way more accurate. I only use OCR as a backup to check set numbers when pokemon reprints the exact same card art in multiple sets. Even with that, some cards (shadowless vs base, 1st edition, stamped promos) look almost identical. So since Android lets you draw over the screen, I set up the overlay to show multiple high confidence options if the model isn't 100% sure. That way you can just tap the right variant and compare pr
- 情报分类:商业与市场研究
- 分类依据:内容涉及商业、投资或市场动态
- 信息来源:Reddit · SideProject
- 发布时间:2026/10/11 04:58:59
- 暂无回复