Graded
Un índice de precios comunitario para coleccionistas retro PAL que reencuadra tu colección como un portfolio valorado por la propia comunidad.
Visitar Sitio Web
Descripción del Proyecto
Graded es un producto propio que resuelve un problema real del mercado europeo: PriceCharting — la referencia de facto — está sesgado al mercado estadounidense, se actualiza de forma esporádica e ignora la realidad del mercado PAL, donde la mayoría de transacciones ocurren en Wallapop, Vinted y ferias locales.
La plataforma reencuadra la afición del coleccionismo retro como una clase de activo: tu colección deja de ser un cajón de juguetes y pasa a ser un portfolio. Cada transacción que un coleccionista reporta refina el índice de precios para toda la red.
Mientras la red bootstrappea, el índice se siembra con feeds temporales de Wallapop y Vinted para que el terminal nunca se sienta vacío. A medida que los usuarios reportan transacciones reales, la data semilla va decayendo.
Bajo el capó: backend NestJS sobre PostgreSQL con Prisma, enriquecimiento automático vía IGDB + Twitch OAuth, 34 endpoints REST, 13 modelos con cascade y unique constraints, y 50+ plataformas mapeadas. Frontend React 18 + Vite con Tailwind y shadcn/ui.
Desafíos Técnicos y Soluciones
Desafío: Unificar títulos y plataformas con identificación canónica a través de un ecosistema fragmentado (variantes regionales, reimpresiones, compilaciones).
Solución: Integré la API de IGDB vía Twitch OAuth para enriquecer automáticamente cada alta y construí una cola de revisión manual para los casos ambiguos. El resultado: un mapa canónico de 50+ plataformas que hace comparables los precios entre usuarios.
Desafío: Evitar un terminal vacío durante el bootstrap de la red, sin comprometer la integridad del índice comunitario a largo plazo.
Solución: Diseñé un sistema de data semilla con feeds temporales de Wallapop y Vinted que decaen automáticamente conforme los usuarios reportan transacciones reales. La señal comunitaria siempre tiene prioridad sobre la semilla.
Desafío: Hacer que el índice sea resistente a reportes erróneos o maliciosos sin convertir el producto en un foro moderado.
Solución: El índice se calcula con mediana (no media) y aplica filtros por N mínimo de transacciones antes de publicar un precio. Los reportes atípicos se aíslan estadísticamente sin necesidad de moderación humana activa.
Detalles del Proyecto
Cliente
Cosecha propia
Visitar Sitio Web
gradedhub.comCronograma
6 meses
Mi Rol
Fundador y Desarrollador Principal
Tecnologías Utilizadas
Características Principales

Inventory — Portfolio de referencia
Import CSV desde PriceCharting, alta por lotes, coste base por ítem y tags de región.

Dashboard — P/L de un vistazo
NAV, ganancia no realizada, distribución por plataforma y top movers a 30 días.

Sales — Trades realizados
Lotes multi-ítem, comisiones y beneficio neto. Consciente de Wallapop y Vinted.

Lots — Agrupar y valorar
Empaqueta ítems para vender y pre-calcula precio mezclado vs. índice.

IGDB Match — Títulos canónicos
Enriquecimiento automático, cola de revisión manual y mapa de 50+ plataformas.

Community Pricing — El índice es social
Los coleccionistas reportan ventas y pujas. Cada reporte afila la mediana para toda la red.
Resultados e Impacto
Plataformas mapeadas vía IGDB
Endpoints REST en 6 módulos NestJS
Modelos Prisma con constraints
Tesis del Producto
Your collection is not a toy drawer. It is a portfolio.
— Graded // Product Thesis