O tripbier nasceu para resolver um problema simples.
Descobrir uma cervejaria artesanal ainda depende de dezenas de buscas isoladas, avaliações dispersas e informações desatualizadas.
Nossa missão é organizar o conhecimento cervejeiro mundial em uma única plataforma aberta, pesquisável e assistida por inteligência artificial.
Não queremos apenas listar cervejarias.
Queremos conectar pessoas, territórios, histórias, estilos, premiações e experiências.
Do primeiro chope em Gramado até uma cervejaria premiada em Portland, a jornada deve ser contínua.
Tripbier é uma plataforma global de descoberta de cervejarias artesanais, roteiros cervejeiros, turismo cervejeiro e inteligência geográfica, utilizando inteligência artificial para conectar viajantes, cervejarias e destinos em 16 países.
manual
do sistema
Guia completo do tripbier — plataforma de roteiros cervejeiros construída sobre Cloudflare Workers, D1, KV e R2. Cada seção contém links diretos para a funcionalidade descrita.
o que é o tripbier
visão geralO tripbier é uma plataforma serverless de descoberta e roteiros de cervejarias artesanais. Combina um banco de dados georreferenciado com IA generativa para criar experiências personalizadas — do mapa interativo ao roteiro narrado por um concierge cervejeiro.
Toda a infraestrutura roda em Cloudflare (Workers + D1 + KV + R2), sem servidores próprios, com latência global de borda e custo variável por uso. O modelo de dados é SQLite via D1, distribuído em múltiplos bancos por continente.
O sistema é composto por 6 workers independentes, cada um com responsabilidade específica, comunicando-se via fetch interno ou compartilhando estado pelo KV.
números do sistema
métricas · jun 2026| métrica | valor | observação |
|---|---|---|
| Cervejarias mapeadas (total) | 19.905 | Brasil + 15 países internacionais · tripbeer-map |
| Cervejarias BR (tripbeer-db) | 5.448 | ativas e operacionais |
| Cervejarias US (OpenBreweryDB) | 8.353 | importadas via pipeline |
| Países com cobertura | 16 | BR, US, DE, BE, CZ, AT, UK, IE, FR, ES, IT, PT, NL, NO, SE, AR |
| Cidades com páginas editoriais | 130+ | 63 internacionais + 67+ BR |
| Landing pages de cervejarias | premiadas | CBC, WBC, WBA — geradas dinamicamente |
| Visitantes / dia | 625 | métrica jun/2026, crescimento orgânico |
| Requisições / mês | ~40k | US + NL + BR como principais origens |
| Idiomas suportados | 15 | pt-BR, en, es, de, fr, it, nl, no, sv, ja e mais |
| Tabelas no D1 principal | 40+ | tripbeer-db (main) + tripbeer-map (geo) |
| Posição média Google | 6.9 | "best craft beers near me" — 131 impressões/dia |
infraestrutura
cloudflare stack| worker | domínio | responsabilidade |
|---|---|---|
utt-engine | tripbier.com/* · *.tripbier.com/* | roteador principal — serve páginas do KV, API pública, subdomínios, LGPD banner |
utt-agentlink | /api/chat (interno) | pipeline Maestro — 6 mini-agentes para geração de roteiros via GPT-4o-mini |
utt-brewhub | brewhub.html | chat widget por cervejaria, agente IA especializado por slug, proteção /api/palpite |
utt-analytics | /api/collect (interno) | RUM 1st-party — coleta dwell time, recorrência, funil; cron de agregação diária |
utt-beerfeed | /api/news | radar de notícias cervejeiras por cidade — cron segunda-feira |
utt-static | assets estáticos | serve CSS, JS, imagens via ASSETS binding |
| banco | id | conteúdo principal |
|---|---|---|
tripbeer-db | principal | cervejarias BR, usuários, roteiros, passaportes, premiações, estilos, horários, social, analytics |
tripbeer-map | geo | cervejarias globais com lat/lon/slug para busca do mapa |
DB_AMERICAS | continente | US, CA, AR, CL, MX — fallback do mapa |
DB_EUROPE | continente | DE, BE, CZ, FR, ES, IT, PT, UK, NL, NO, SE… |
utt-analytics | id: 170900e5 | eventos RUM, sessões, dwell, funil de jornada |
| namespace | id | uso |
|---|---|---|
UTT_CACHE | 4b5519d0… | páginas HTML (page:{nome}.html), sessões (sess:{id}), índices geo (idx:{cidade}:{pais}), stats |
Padrão de chaves KV: page:home.html · page:agm.html · page:copa.html · idx:porto+alegre:br:uuid · sess:abc123 · stats:total_cervejarias
Bucket: tripbeer-assets · CDN público: pub-b8f8998895a64e77a4fa43f286aa08dd.r2.dev/
Armazena logos de cervejarias, imagens de hero (AVIF/WebP/PNG), og:images para WhatsApp (JPEG 1200×630 <300KB) e assets de campanhas de parceiros.
páginas principais
páginas do siteradar / mapa interativo
funcionalidadeO radar (tripbier.com/mapa.html) é o coração da plataforma — um mapa Leaflet com 19.900+ pins de cervejarias em 16 países, com MarkerCluster para performance e filtros em tempo real.
Ao abrir, o mapa usa a geolocalização do browser ou o IP (Cloudflare cf.city) para centralizar automaticamente. Cada pin abre um card com rating, endereço, link para Instagram/site e botão "ver rota no Google Maps". Cervejarias premiadas ganham marcador diferenciado.
Parâmetros de URL aceitos pelo mapa:
| parâmetro | exemplo | efeito |
|---|---|---|
?lat=&lng=&zoom= | ?lat=-30.03&lng=-51.21&zoom=11 | centraliza em coordenadas específicas (usado por subdomínios como AGM) |
?cidade=&uf= | ?cidade=Gramado&uf=RS | busca e centraliza na cidade informada |
?roteiro= | ?roteiro=variedade-curitiba-3d | carrega e destaca cervejarias de um roteiro salvo |
?proximas=1 | ?proximas=1 | força busca pelas mais próximas do usuário |
concierge IA
pipeline maestroO concierge tripbier é um pipeline de 6 mini-agentes que transforma uma mensagem de texto em um roteiro cervejeiro personalizado. Cada agente recebe um envelope de dados, enriquece e passa para o próximo.
O concierge é multi-função por design — não é um chatbot com menu de opções. O usuário escreve em linguagem natural e o sistema detecta a intenção automaticamente, sem pedir escolha de modo:
| o usuário diz | intenção detectada | o que acontece |
|---|---|---|
| "Tem IPA em Gramado?" | busca | lista cervejarias com IPA no cardápio, com link direto |
| "Me explica o que é uma Weizen" | conversa | sommelier responde sobre estilo, história e harmonização |
| "Quero passar 3 dias em Curitiba" | gerar roteiro | pipeline completo: clima → curador → narrativa personalizada |
| "Onde fica a Dado Bier?" | navegar | abre o mapa com o pin da cervejaria |
| "poa, fds, craft" | gerar roteiro | normaliza sigla → extrai intenção → gera roteiro de fim de semana em POA |
O Validador detecta os 4 modos sem nenhuma chamada de LLM — lógica pura em JavaScript. Normaliza siglas (poa → Porto Alegre, cwb → Curitiba) antes do Extrator. O Curador consulta bancos em cascata: DB Brasil → DB_AMERICAS → DB_EUROPE → DB_ASIA → Serper Discovery como fallback final.
passaporte cervejeiro
gamificação · pwaO passaporte tripbier é uma PWA (Progressive Web App) instalável que permite ao usuário colecionar carimbos a cada visita a cervejarias parceiras. É o motor de gamificação e fidelização da plataforma.
Fluxo do usuário: O usuário entra em passaporte.tripbier.com, instala no celular (home screen), identifica-se por nome e WhatsApp (zero cadastro), e recebe carimbos ao fazer check-in em cervejarias do circuito.
Circuitos disponíveis: Cada roteiro de parceiro tem um circuito com N paradas. Completar todas as paradas desbloqueia benefício na cervejaria parceira (brinde, desconto, experiência exclusiva). O painel parceiro (admin-parceiro) mostra em tempo real quem completou e permite enviar o prêmio por WhatsApp.
Níveis: Curioso → Aprendiz → Explorador → Mestre → Sommelier — baseados na quantidade de carimbos acumulados no total.
roteiros
geração e compartilhamentoRoteiros são gerados pelo pipeline Maestro e salvos automaticamente no D1 com uma URL permanente e única — sem login. A URL pode ser compartilhada por WhatsApp, incluída em e-mail ou salva nos favoritos.
Formato da URL: tripbier.com/roteiros.html?id={slug} — onde o slug é gerado pelo Curador a partir da cidade, perfil e hash da seleção (ex: variedade-porto-alegre-3d-a1b2).
Cada roteiro armazena: lista de cervejarias (id, nome, nota do curador), cidade, perfil escolhido, número de dias, clima no momento da geração e a narrativa do Apresentador.
16 países
cobertura globalO tripbier tem cobertura ativa em 16 países, com banco de dados, cidades editoriais e roteamento pelo concierge. Cada país tem páginas de cidades e integração com o mapa global.
As páginas de países são dinâmicas — não existem como arquivos estáticos. São geradas em tempo real pelo worker a partir dos dados do D1: cervejarias, cidades, premiações e conteúdo editorial. Isso significa que adicionar um novo país ao banco de dados cria automaticamente todas as suas páginas, sem nenhum trabalho manual de publicação. É infraestrutura de escala disfarçada de conteúdo.
páginas de cidades
editorial geográficoCada cidade com massa crítica de cervejarias recebe uma página editorial curada — não gerada automaticamente, mas escrita com identidade local. O template base é o caxias.html (padrão serifado com sidebar, hero, pull-quote e grid de cards).
Estrutura da página: hero com foto local → editorial "por que visitar" → pull-quote → grid de cervejarias com rating/insta/site/agente → eventos → roteiro sugerido. A seção de notícias é alimentada pelo utt-beerfeed em tempo real.
Todas as páginas de cidades internacionais ficam no subdiretório do país: /de/berlim.html, /be/bruges.html, /it/roma.html, etc. Assim como as páginas de países, as páginas de cidades são geradas dinamicamente — o worker monta o HTML a partir do D1 a cada requisição, sem arquivos pré-compilados. Uma nova cidade com cervejarias suficientes no banco já tem sua página disponível.
| destaque | link |
|---|---|
| Caxias do Sul (RS) — template referência | tripbier.com/caxias.html |
| Blumenau (SC) — capital catarinense | tripbier.com/blumenau.html |
| Porto Alegre (RS) — polo AGM | tripbier.com/porto-alegre.html |
| Gramado (RS) — turismo + craft | tripbier.com/gramado.html |
| Bruges (Bélgica) — referência mundial | tripbier.com/be/bruges.html |
| Berlim (Alemanha) | tripbier.com/de/berlin.html |
| Praga (República Tcheca) | tripbier.com/cz/praga.html |
landing pages de cervejarias
virtual landingCervejarias premiadas (CBC, WBC ou WBA) recebem automaticamente uma landing page dinâmica gerada a partir dos dados do D1 — sem intervenção manual. O acesso é via subdomínio: slug.tripbier.com.
Conteúdo exibido: nome, cidade/estado, rating e votos Google, horários de funcionamento por dia da semana, cervejas em produção (nome, estilo, ABV, IBU), premiações com medalha e ano, blog posts relacionados, mapa embed, botões para Instagram/site/WhatsApp e chat com agente IA especializado na cervejaria.
Regra de acesso: Se a cervejaria tem premiação → renderiza landing page completa. Se não tem premiação mas tem Instagram ou site → redireciona (302) para a rede social. Se não tem nada → 404.
Cache: cada landing page é armazenada no edge cache do Cloudflare por 1 hora (stale-while-revalidate=86400) — zero CPU nas visitas recorrentes.
concursos e premiações
palmarésO tripbier indexa as medalhas dos principais concursos de cerveja artesanal e as exibe nas landing pages de cervejarias e na página de premiações. As medalhas são critério de ranqueamento no Curador.
| concurso | sigla | escopo | medalhas |
|---|---|---|---|
| Campeonato Brasileiro de Cerveja | CBC | Nacional — Blumenau/SC | Gran Champion, Ouro, Prata, Bronze |
| World Beer Cup | WBC | Internacional — EUA | Gold, Silver, Bronze |
| World Beer Awards | WBA | Internacional — UK | Country Winner, Gold, Silver |
| Concurso Gaúcho de Cerveja (AGM) | CGCBA | RS — organizado pela AGM | Ouro, Prata, Bronze |
| Mondial de la Bière | MDB | Brasil + Internacional | Médaille d'Or, d'Argent, de Bronze |
painel parceiro
admin · cervejariasO painel parceiro é a interface de gestão para donos de cervejarias. Acesso via slug da cervejaria (sem login — auth por token via URL, a implementar). URL direta: tripbier.com/admin-parceiro?slug={slug}.
| aba | o que gerencia | tabela D1 |
|---|---|---|
| 🗺️ roteiros | Participantes dos circuitos do passaporte: progresso, check-ins, botão "premiar" via WhatsApp | passaporte_carimbos · passaportes |
| 🍺 cervejas | Catálogo de cervejas: nome, estilo, ABV, IBU, descrição, foto (URL) | estilos_cervejaria |
| 📋 cardápio | Itens do cardápio: categoria, nome, preço, descrição, foto — visível na landing page | lp_cardapio |
| 🎯 promos | Campanhas: título, tipo, desconto %, validade, toggle ativo/inativo | lp_campanhas |
| 🕐 horários | Grade semanal Segunda→Domingo: abre, fecha, fechado, observação | horarios |
agm — associação gaúcha de microcervejarias
subdomínio · parceriaA agm.tripbier.com é um subdomínio dedicado à parceria tripbier × AGM — uma pitch page editorial com as 19 cervejarias associadas mapeadas, história do movimento craft gaúcho e CTA para filiação.
Conteúdo histórico baseado em pesquisa acadêmica verificada: Cruz, R.C. (2016). Consumo e Formação de Mercado: um estudo sobre as microcervejarias de Porto Alegre. Dissertação UNISINOS.
Cronologia: Dado Bier (1995, primeira microcervejaria BR) → WE Consultoria (1997) → Acerva Gaúcha (2003) → AGM fundada por Jorge Gitzler → ICMS reduzido no RS → Polo Anchieta (2010) → 50+ associadas hoje.
claim your brewery
aquisição b2bCervejarias sem perfil completo exibem um CTA "Esta é a sua cervejaria?" na landing page e no chat widget. Ao clicar, o dono preenche um formulário simples (nome, e-mail, cargo, WhatsApp) que gera um lead no D1 (reivindicacoes) e dispara notificação interna.
É o funil de entrada para o modelo B2B: Starter (R$89/mês) → Professional (R$149/mês) → Premium (R$297/mês), com incremento de features no painel parceiro e visibilidade no mapa.
api endpoints
referência técnica| método | endpoint | descrição |
|---|---|---|
| GET | /api/proximas | busca cervejarias por coords, cidade ou texto — motor principal do mapa e concierge |
| GET | /api/suggest?q=&pais= | autocomplete de cidades (search-as-you-type, KV) |
| GET | /api/stats | total de cervejarias ativas |
| GET | /api/ping | analytics: registra enter/leave/click com geo e device |
| POST | /api/chat | envia mensagem ao pipeline Maestro e recebe resposta do concierge |
| GET | /api/news?cidade=&limit= | notícias cervejeiras por cidade (utt-beerfeed) |
| POST | /api/news/collect | força coleta manual de notícias (normalmente cron segunda-feira) |
| GET | /api/estilos?q= | busca cervejas por estilo com foto — alimenta grid de estilos |
| GET | /api/parceiro/perfil?slug= | retorna dados completos da cervejaria: cervejas, cardápio, promos, horários |
| POST | /api/parceiro/cerveja | cria ou atualiza cerveja no catálogo da cervejaria |
| DELETE | /api/parceiro/cerveja/:id | remove cerveja do catálogo |
| POST | /api/parceiro/cardapio | cria ou atualiza item do cardápio |
| DELETE | /api/parceiro/cardapio/:id | desativa item do cardápio (soft delete) |
| POST | /api/parceiro/campanha | cria ou atualiza promoção/campanha |
| PUT | /api/parceiro/campanha/:id/toggle | ativa ou desativa campanha |
| DELETE | /api/parceiro/campanha/:id | remove campanha permanentemente |
| POST | /api/parceiro/horario | salva grade de horários (upsert por dia da semana) |
| POST | /api/checkin | registra check-in no passaporte (carimbo) |
| GET | /api/meu-passaporte | retorna passaporte do usuário (por session) |
| POST | /api/roteiro-salvar | salva roteiro gerado pelo Maestro no D1 |
| GET | /api/admin/painel?roteiro= | dados do circuito para o painel parceiro (participantes, progresso) |
| GET | /sitemap.xml | sitemap dinâmico com todas as cervejarias + páginas principais |
analytics
rum 1st-partyO tripbier usa analytics 1st-party — sem Google Analytics, sem cookies de terceiros. O tracker (/a/tracker.js) é carregado por todas as páginas e envia eventos para /collect no utt-analytics.
Dados coletados: páginas visitadas, tempo de permanência (dwell), recorrência de sessão, funil de conversão (home → mapa → roteiro → passaporte), país/cidade (CF headers), tipo de dispositivo. Sem PII — identificador é hash SHA1 do IP+UA.
Cron diário: o utt-analytics agrega os eventos brutos e grava resumos diários no D1 (id: 170900e5) — visitantes únicos, pageviews, países top-5, bandwidth. O dashboard analytics lê desses resumos.
Cliques rastreados: Instagram, site, WhatsApp — por cervejaria, por origem geográfica, por dispositivo.
lgpd
privacidade · complianceO banner de cookies é injetado pelo worker em todas as páginas via middleware — nenhuma página precisa incluir o script manualmente. O consentimento é armazenado em localStorage por 365 dias.
deploy e operações
infraestrutura · wranglerTodo o deploy é feito com Wrangler CLI a partir do diretório G:\Site\tripbier\utt-engine\PRD\js\. A configuração fica no wrangler.toml. Credenciais de API (OpenAI, Serper, Google Places) ficam em G:\Site\tripbier\upg-engine\pipeline\.env.
# Deploy do worker principal npx wrangler deploy --config wrangler.toml # Publicar página no KV (HTML → page:nome.html) npx wrangler kv key put "page:agm.html" \ --path ../html/agm.html \ --remote --binding UTT_CACHE --config wrangler.toml # Upload de imagem para R2 npx wrangler r2 object put "tripbeer-assets/agm/foto.png" \ --file ./foto.png --remote --config wrangler.toml # Query no D1 npx wrangler d1 execute tripbeer-db \ --command "SELECT COUNT(*) FROM cervejarias" \ --remote --json --config wrangler.toml
Regra de ouro: alterar worker ou HTML sem antes listar o que muda e quem afeta pode causar regressão silenciosa. O processo correto: (1) listar mudanças e impacto, (2) confirmar com Marcos, (3) publicar.
Atenção: Tripbier e ClubTour são contas/negócios separados — nunca cruzar workers, dados ou credenciais entre os dois.
loop de aprendizado
ia · melhoria contínuaO tripbier não apenas responde perguntas — ele aprende com cada interação. O ciclo funciona em quatro etapas contínuas, sem intervenção manual.
conversas com session_id, idioma e país de origem.auditorias_conversas: intenção do cliente, sentimento, problemas identificados, nota de qualidade.base_conhecimento: regras, exemplos corretos e incorretos, prioridade. Aprovados automaticamente entram no contexto.Este mecanismo é proprietário e está em produção. Nenhuma plataforma de listagem de cervejarias ou guia turístico convencional possui um ciclo equivalente. É o que diferencia o tripbier de um diretório estático: o sistema aprende com quem usa.
mapa do site
urls · estrutura públicaTodas as URLs públicas do ecossistema tripbier, organizadas por domínio e função.
| URL | Descrição | Tipo |
|---|---|---|
| tripbier.com | ||
tripbier.com/ | Home — hub de cervejarias artesanais | Dinâmica |
{slug}.tripbier.com/ | Landing page da cervejaria — agente IA, cervejas, eventos, mapa | Dinâmica |
tripbier.com/roteiros.html | Roteiros gerados por IA — públicos e compartilháveis | Estática |
tripbier.com/manual | Este documento — referência completa do sistema | KV |
tripbier.com/privacidade | Política de privacidade — LGPD | KV |
tripbier.com/termos | Termos de uso | KV |
tripbier.com/sitemap.xml | Sitemap dinâmico com 17.826+ URLs de cervejarias | Dinâmica |
| tripbier.wiki | ||
tripbier.wiki/ | Enciclopédia cervejeira — home | Dinâmica |
tripbier.wiki/categoria/estilos | 120 estilos de cerveja catalogados com abstracts | Dinâmica |
tripbier.wiki/categoria/familias | Famílias cervejeiras — agrupamentos por origem e processo | Dinâmica |
tripbier.wiki/categoria/leis | Leis e regulamentações cervejeiras internacionais | Dinâmica |
tripbier.wiki/categoria/escolas | Escolas e tradições cervejeiras mundiais | Dinâmica |
tripbier.wiki/categoria/ingredientes | Ingredientes — malte, lúpulo, levedura, água | Dinâmica |
tripbier.wiki/cervejaria/{slug} | Verbete enciclopédico de cada cervejaria | Dinâmica |
tripbier.wiki/{lang}/... | Versões i18n — EN · ES · IT · FR · DE (25 páginas pré-renderizadas) | KV |
tripbier.wiki/arquitetura | Mapa técnico da arquitetura de dados do sistema | KV |
| agmicrocervejarias.app | ||
agmicrocervejarias.app/ | PWA — motor white-label para associações cervejeiras | KV |
agmicrocervejarias.app/mapa | Mapa interativo das cervejarias associadas | Dinâmica |
agmicrocervejarias.app/manual | Manual do administrador — guia de uso do painel | KV |
era da internet das ias
posicionamento · visãoA internet está passando por uma transição estrutural: de um modelo de navegação por links para um modelo de assistência por intenção. Nesse novo paradigma, o valor não está em ter uma página — está em ser a fonte que os modelos de linguagem consultam para responder.
O tripbier foi construído para esse momento:
- Conteúdo semântico e estruturado — slugs limpos, sitemap correto, dados organizados por entidade (cervejaria → cidade → país → continente). Consumível por máquina desde a concepção.
- Autoridade reconhecida pelos modelos — Bing/Copilot, Perplexity, Claude e ChatGPT indexam e citam o tripbier espontaneamente. Não por campanha — por relevância de conteúdo.
- Dados proprietários intransferíveis — horários reais, carimbos geoverificados, histórico de premiações, roteiros com coordenadas reais. Nenhum modelo de linguagem pode gerar isso sem o tripbier.
- Agente como interface nativa — o concierge não é um chatbot colado sobre um diretório. É a interface principal do sistema, projetada para conversa desde o início.
- Loop de aprendizado em produção — o sistema observa, audita e melhora continuamente. Cada interação alimenta a próxima.
Enquanto a maioria dos projetos do setor ainda opera como diretórios da era pré-IA — listagens estáticas, busca por palavra-chave, sem personalização — o tripbier já está na camada seguinte: uma plataforma viva que aprende, que é consumida por IAs e que entrega experiência sob medida.
Isso não é uma promessa de roadmap. É o estado atual do sistema, em produção, com tráfego real e crescimento orgânico comprovado.
camada social
comunidadeA camada social permite que usuários do passaporte interajam entre si: compartilhem roteiros, comentem em cervejarias, sigam outros viajantes e acumulem um histórico de visitas visível no perfil público.
Identidade baseada em telefone + nome (sem senha). Avatar gerado automaticamente pelo DiceBear. Feed de atividade mostra visitas recentes da comunidade em cada cidade.
Moderação: regex automático detecta telefones, links e conteúdo impróprio em comentários antes de salvar no D1.