Todos os case studies

10Detalhamento · catalog

Montar um catálogo de produtos a partir de códigos de barras

Um crawler, uma base pública de código de barras e um monte de dado sujo, pro lojista cadastrar um produto só apontando o celular pra ele.

Em produçãoDavid RochaFaz parte do sistema ZapBeta
01

O problema

Um distribuidor com três mil produtos não vai digitar um por um. E se cadastrar produto é chato, o catálogo fica vazio e o agente não tem o que vender. A meta era o dono da loja apontar o celular pro código de barras: bipa, e o produto aparece com nome, foto oficial e pronto pra vender.

02

As restrições

  • 01Código de barras é chave de busca, não é produto. O número identifica o item; os detalhes têm que vir de algum lugar.
  • 02O dado público é sujo. Base de GTIN tem nome errado, foto faltando e duplicata. Dá pra usar, mas não do jeito que vem.
  • 03Rápido o bastante pra parecer mágica. Se o bipe leva dez segundos e ainda pode falhar, a pessoa volta a digitar.
  • 04Preencher a lacuna antes da demanda. O item que a loja bipa devia já ser conhecido, não buscado do zero com ela esperando na frente.
03

A arquitetura

  1. bipa o código de barras

    o dono da loja aponta o celular para o produto

  2. consulta GTIN

    uma base pública (Cosmos) devolve nome + foto oficial

  3. normaliza

    dado sujo virado em um produto real e vendável

  4. crawler (CRON)

    preenche o catálogo antes da hora, para o bipe já ser conhecido

Bebida e alimento embalado são produtos padrão. A Coca-Cola é o mesmo código de barras no país inteiro, e é por isso que a ideia funciona: vale buscar os detalhes uma vez e reusar em todo lugar. O que uma loja bipa e limpa vira modelo pronto pra próxima, então o catálogo fica mais rico a cada estabelecimento em vez de começar do zero toda vez.

04

A parte difícil

O problema é que o dado público mente só o suficiente pra ser perigoso. Uma consulta de GTIN devolve nome abreviado, foto do sabor errado, peso enterrado no meio do título. Se eu confio cego, o catálogo enche de produto sutilmente errado; se eu rejeito, a pessoa volta a digitar tudo na mão.

A resposta foi tratar a consulta como rascunho: busca, normaliza, e o que uma loja confirma vira a versão limpa que a próxima herda. Um crawler em segundo plano aquece o catálogo antes da demanda, pra que os itens comuns já estejam conhecidos e limpos quando alguém bipa. O momento mágico, bipa e pronto, é comprado com um monte de normalização sem graça que acontece antes de qualquer pessoa bipar qualquer coisa.

05

Trade-offs

  • Depender de uma base pública de GTIN é depender da qualidade de dado de outra pessoa. Normalizar e pedir confirmação é o preço de usar uma fonte que não é confiável.
  • Crawler que aquece o catálogo gasta requisição e armazenamento com item que talvez ninguém bipe nunca. Vale: a alternativa é uma consulta fria, lenta e falível bem no momento em que o usuário decide se confia na feature.
  • Código de barras primeiro é perfeito pra produto padronizado e inútil pra produto sob medida. Distribuidor de marca é o ponto ideal, negócio de serviço personalizado não é, e o produto é honesto sobre pra qual dos dois ele serve.
06

O que eu faria diferente

Eu deixaria o catálogo compartilhado explicitamente colaborativo. Hoje cada loja se beneficia do que as outras limparam como efeito colateral. Eu tornaria isso uma ideia de primeira classe: um produto confirmado, fotografado e com peso certo é bem público, e toda loja bebe dali. O crawler e as lojas juntos manteriam um catálogo nacional limpo em vez de dez mil quase-duplicatas privadas.

Vamos conversar

Estou aberto a trabalhos remotos construindo com LLMs: agentes, avaliação, ferramental e o produto inteiro em volta disso. Ficarei feliz em mostrar muito mais numa call. Pode chamar.

Disponível para posições remotas, trabalhando do Brasil.Fuso: UTC−3 (Brazil)