Show HN: Eu rastreei 25 milhões de produtos Shopify para construir um mecanismo de busca
Um projeto paralelo que rastreou 25 milhões de produtos de cerca de 650 mil lojas Shopify para construir um mecanismo independente de busca de produtos atraiu tanto curiosidade técnica quanto ceticismo sobre sua viabilidade de longo prazo. Os comentaristas analisaram como o criador obteve listas de lojas, aproveitou endpoints JSON públicos e escolheu uma stack cara baseada em MongoDB, enquanto sugeriam alternativas mais baratas e rápidas como Elasticsearch, Typesense, Meilisearch ou Postgres para escalar e melhorar a relevância. Muitos também questionam a diferenciação em relação ao app Shop da Shopify e à Amazon, argumentando que o sucesso dependerá menos da escala de rastreamento e mais da qualidade da busca, curadoria, filtragem de fraude e de uma proposta de valor clara para compradores e comerciantes.
Abordagem de scraping e fontes de dados
- As lojas Shopify expõem endpoints JSON padronizados (
/products.json,/meta.json), então fazer scraping significa principalmente baixar esses dados em vez de HTML. - Vários comentaristas observam que é possível “martelar”
/products.jsoncom pouca limitação de taxa; problemas tradicionais de anti-bot (CAPTCHAs, bloqueios de IP) são mínimos aqui. - A lista inicial de lojas veio de um conjunto de dados pago da “BuiltWith” (~2 milhões de lojas), depois filtrado por geografia e receita; outros mencionam padrões de DNS, presença de
products.jsonou estruturas de URL específicas do Shopify como métodos de detecção. - Alguns discutem robots.txt e sitemaps como mecanismos adicionais de descoberta, mas uma pessoa questiona o uso de dicas de “não rastrear” como dados de semente.
Stack técnico, custo e desempenho
- Stack atual: crawler em JavaScript, MongoDB Atlas (incluindo Atlas Search), front-end em Next.js, infraestrutura AWS; custo em torno de US$ 2,2 mil/mês.
- Muitos acham isso excessivo para ~25 milhões de produtos e sugerem opções mais baratas e adequadas: Elasticsearch/OpenSearch, Typesense, Meilisearch, Postgres (com full-text e vetores), ou até um único servidor bare metal/Hetzner.
- Vários observam que 25 milhões de documentos é algo modesto para a infraestrutura de busca moderna e que deveria ser rápido e barato se a arquitetura estiver bem feita.
Qualidade de busca e recursos
- Usuários acham fracos ou ruidosos os resultados para consultas genéricas como “red shoes”; às vezes correspondências de marca aparecem acima da intenção óbvia.
- Sugestões: busca vetorial/semântica usando CLIP ou similar, legendagem densa de imagens, detecção de cores e embeddings multimodais para melhorar a relevância.
- Filtros desejados: preço, localização de “ships to”/“ships from”, disponibilidade, filtragem NSFW, país de entrega, busca por similaridade e exibição de ofertas alternativas para o mesmo produto.
Qualidade dos dados, curadoria e fraude
- Vários comentários alertam para uma longa cauda de lojas Shopify de baixa qualidade, fraudulentas ou de dropshipping.
- Projetos anteriores relatam curadoria manual e automatizada pesada para remover lixo, fraudes e conteúdo sensível/NSFW; muitos veem a curadoria como crítica para a diferenciação.
Monetização, concorrência e viabilidade
- O modelo atual são taxas de comerciante para listagens “verificadas” e impulsionadas; ainda não há receita de afiliados.
- Vários apontam o próprio app Shop da Shopify e vários motores de comparação de preços como concorrência direta ou indireta.
- Projetos parecidos anteriores relatam que a execução técnica era administrável; aquisição de usuários e monetização eram os verdadeiros gargalos.
UX e misc.
- O feedback destaca respostas lentas, falta de indicadores de carregamento, problemas de scroll infinito, peculiaridades de navegação, erros em consultas Unicode e desejo de fácil “open in new tab”.
- Alguns questionam as implicações dos Termos de Serviço da Shopify; outros descartam essa preocupação ou argumentam que só importa se houver ação legal.