A Popsa, empresa de álbuns de foto que opera em 50+ países e 12 idiomas, trocou seu algoritmo baseado em grafo por uma stack de Amazon Bedrock com Claude 3 Haiku e depois Amazon Nova pra gerar títulos e subtítulos. Resultado: feedback positivo subiu de 58% pra 73%, custo caiu, latência caiu 35% com ConverseStream API, e o feature gerou 5,5 milhões de títulos em 2025.
Post co-escrito com Bradley Grantham e Hugo Dugdale, da Popsa.
A Popsa é uma empresa de tecnologia que ajuda usuários a redescobrir memórias escondidas nas bibliotecas de foto. Opera em mais de 50 países e 12 idiomas, usando automação de design e IA pra transformar foto do dia a dia em experiência compartilhável, incluindo álbuns impressos.
Em 2016, a empresa lançou o PrintAI, algoritmo que monta design variado a partir das fotos do usuário. Cliente cria álbum com cara de profissional em menos de 5 minutos. A filosofia: tecnologia faz o trabalho pesado pelo usuário.
Quando o cliente recebe o álbum, a primeira coisa que vê é a capa, com título e subtítulo em destaque. Só que a maioria não é copywriter profissional, e acaba escrevendo "França 2024", "Fotos da Espanha" ou simplesmente "Fotos".
Em 2021, a Popsa lançou o Title Suggestion. Quando o usuário seleciona fotos, o app lê metadata (timestamp, geocoordenadas) e roda CNN (rede neural convolucional) on-device pra extrair features tipo praia, churrasco, pet. Daí um algoritmo chamado Title Suggestion Graph montava lista de títulos por regras e templates. Exemplo: se todas as fotos foram tiradas no mesmo dia, sugere "On this Day" com a data como subtítulo.
Funcional, mas limitado. Em junho de 2024, o time identificou oportunidade de aplicar IA generativa pra inspirar com títulos mais criativos.
A solução tinha que respeitar regras duras:
title, subtitle e category, pra parsing e renderização consistentes.Essas regras dão pra validar em código, então o time montou dataset com mais de 100 álbuns de exemplo e definiu métricas em pipeline de avaliação: % de sugestões dentro do limite de caractere, % de categorias válidas, % em JSON correto.
Além das regras duras, vinham diretrizes mais soft: consistência temática (ícone de ski não cabe em álbum de praia), estilo da marca, coesão entre título e subtítulo, e qualidade nos 12 idiomas suportados.
Pra avaliar essas diretrizes, usaram LLM-as-a-judge. Isso permitiu testar prompts e modelos rápido, antes de partir pra teste interno extensivo.
O melhor resultado veio de retrieval-based few-shot prompting. O time criou banco de exemplos de álbuns com títulos aceitáveis. Pra um álbum novo, recupera designs similares e seleção aleatória dos títulos sugeridos deles.
Usando Amazon Bedrock com Claude 3 Haiku, esses exemplos entram como mensagens <user> e <assistant> no histórico, e o design novo do usuário vai como o último <user>. Assim o LLM imita as respostas anteriores e segue as regras naturalmente.
O Title Suggestion Service decripta o design, extrai timestamps, faz reverse geocoding nas coordenadas e classifica o assunto por landmarks de objeto. Gera descrição tipo: "A skiing photobook with 21 photos taken in the Alps between 21st January 2025 and 23rd January 2025". Essa descrição alimenta o prompting few-shot pra gerar as sugestões finais.
Feedback do usuário (positivo, neutro, negativo) e teste multivariado com centenas de milhares de users mostraram preferência forte pelos títulos generativos. Métricas como Design Created e Purchase também subiram. Rollout pra 100% rolou depois de alguns meses.
Trocar o Graph Algorithm pelo Claude 3 Haiku subiu o feedback positivo em 13 pontos: de 58% pra 71%.
No início de 2025, o time rodou A/B test multivariado comparando Claude 3 Haiku com a família Nova (Micro, Lite, Pro), que suporta mais de 200 idiomas com baixa latência. A API unificada do Bedrock ajudou: troca o model ID e roda experimento em horas, não semanas.
Resultado:
Do lado de custo e latência:
| Modelo | Input / 1k tokens | Output / 1k tokens | Tempo pra 500 tokens |
|---|---|---|---|
| Claude 3 Haiku | $0,00025 | $0,00125 | 6,8s |
| Amazon Nova Lite | $0,000069 | $0,000276 | 2,4s |
| Amazon Nova Pro | $0,00092 | $0,00368 | 3,4s |
A leitura prática: Nova Lite entrega qualidade quase idêntica ao Claude Haiku por uma fração do custo e quase 3x mais rápido. Pra quem opera no volume da Popsa, milhões de gerações, esse tipo de troca paga sozinha o trabalho de migração.
Uma métrica chave é o TTFS (Time to First Suggestion, quanto tempo até a primeira sugestão válida aparecer). Mesmo com outras opções sendo geradas em background, baixar o TTFS faz a feature parecer responsiva.
O time migrou da InvokeModel API do Bedrock pra ConverseStream API, que faz streaming dos tokens conforme são gerados. Como o serviço exige triplas válidas (título-subtítulo-categoria), estenderam o FastAPI pra fazer parsing do stream em tempo real e retornar a primeira sugestão assim que ela é validada. As outras continuam streamando em background.
Resultado: TTFS médio caiu de 1,41s pra 0,92s. 35% mais rápido na primeira sugestão polida.
Em 2025, o Title Suggestion gerou mais de 5,5 milhões de títulos. Esse loop de feedback continua guiando a evolução.
O plano: usar modelo maior tipo Nova Pro pra parte da base de usuário, pra capturar criatividade e nuance mantendo custo razoável em escala. Os dados desses experimentos vão alimentar fine-tune de modelos menores, pra eles herdarem a qualidade dos maiores sem perder latência ou custo.
No roadmap também: integrações de tool dando ao LLM contexto mais rico sobre cada álbum (detalhes de evento, pistas sazonais), pra título mais personalizado, temático e alinhado à marca.
☕ gostou dessa?
Matérias favoritadas ficam no seu /favoritos e, se você tem o cafecomtech instalado, disponíveis offline — no metrô, no avião, na fila do café.
☕ comentários · 0