Saltar al contenido
Alejandro ArandaAlejandro Aranda
Volver a proyectos
1 min de lecturaProyectos

CardLens: escáner de cartas Pokémon TCG 100% en tu dispositivo

Código fuente

CardLens apunta la cámara (o sube una foto) e identifica una carta del Pokémon TCG en unos 0,3 segundos, 100% en el dispositivo: sin nube, sin cuentas y sin Python en tiempo de ejecución.

CardLens

Reconocimiento en Rust, sin entrenamiento

El runtime es 100% Rust. La tubería detecta y recorta la carta con visión por computador clásica, calcula el embedding visual con MobileCLIP2-S0 (ONNX Runtime), lee el nombre por OCR (ocrs/rten) y busca por similitud de coseno; el OCR refuerza el resultado para desambiguar ilustraciones parecidas. Todo con modelos preentrenados: cero entrenamiento.

Un mismo código para escritorio y Android

Está hecho con Tauri 2 y un frontend React + Vite. En escritorio la API viaja como binario sidecar que arranca y para con la app; en Android (que no puede lanzar un sidecar) la misma API corre en el propio proceso. El reconocimiento es local en ambos.

Colección y precios

Permite guardar cartas (sin duplicados) con etiquetas y filtros (set, rareza, tipo, idioma, búsqueda) e importar/exportar en JSON. Muestra precios de mercado por carta (Cardmarket en EUR y TCGplayer en USD) vía TCGdex, cacheados 24 h. El catálogo es multilingüe (ES/EN) y tus fotos nunca salen del dispositivo.

Proyecto no oficial y sin ánimo de lucro. No está afiliado ni respaldado por Nintendo, The Pokémon Company, Creatures o GAME FREAK; los nombres e imágenes de las cartas son marcas y © de sus respectivos propietarios y se usan solo con fines de identificación.

Código en GitHub.