tripbier è nato per risolvere un problema semplice.
Scoprire un birrificio artigianale richiede ancora decine di ricerche separate, valutazioni sparse e informazioni non aggiornate.
La nostra missione è organizzare la conoscenza birraria mondiale in un'unica piattaforma aperta, ricercabile e assistita dall'intelligenza artificiale.
Non vogliamo soltanto elencare birrifici.
Vogliamo connettere persone, territori, storie, stili, premi ed esperienze.
Dalla prima birra alla spina a Gramado fino a un birrificio premiato a Portland, il percorso deve essere continuo.
Tripbier è una piattaforma globale per la scoperta di birrifici artigianali, itinerari birrari, turismo brassicolo e intelligenza geografica, che utilizza l'intelligenza artificiale per connettere viaggiatori, birrifici e destinazioni in 16 paesi.
manuale
del sistema
Guida completa di tripbier — piattaforma di itinerari birrari costruita su Cloudflare Workers, D1, KV e R2. Ogni sezione contiene link diretti alla funzionalità descritta.
cos'è tripbier
panoramicatripbier è una piattaforma serverless per la scoperta e gli itinerari di birrifici artigianali. Combina un database georeferenziato con IA generativa per creare esperienze personalizzate — dalla mappa interattiva all'itinerario narrato da un concierge birrario.
Tutta l'infrastruttura gira su Cloudflare (Workers + D1 + KV + R2), senza server propri, con latenza globale di edge e costo variabile per utilizzo. Il modello dati è SQLite via D1, distribuito su più database per continente.
Il sistema è composto da 6 worker indipendenti, ognuno con responsabilità specifica, che comunicano tramite fetch interno o condividono lo stato tramite KV.
numeri del sistema
metriche · giu 2026| metrica | valore | nota |
|---|---|---|
| Birrifici mappati (totale) | 19.905 | Brasile + 15 paesi internazionali · tripbeer-map |
| Birrifici BR (tripbeer-db) | 5.448 | attivi e operativi |
| Birrifici US (OpenBreweryDB) | 8.353 | importati tramite pipeline |
| Paesi con copertura | 16 | BR, US, DE, BE, CZ, AT, UK, IE, FR, ES, IT, PT, NL, NO, SE, AR |
| Città con pagine editoriali | 130+ | 63 internazionali + 67+ BR |
| Landing pages di birrifici | premiati | CBC, WBC, WBA — generate dinamicamente |
| Visitatori / giorno | 625 | metrica giu/2026, crescita organica |
| Richieste / mese | ~40k | US + NL + BR come principali origini |
| Lingue supportate | 15 | pt-BR, en, es, de, fr, it, nl, no, sv, ja e altre |
| Tabelle nel D1 principale | 40+ | tripbeer-db (main) + tripbeer-map (geo) |
| Posizione media Google | 6.9 | "best craft beers near me" — 131 impressioni/giorno |
infrastruttura
cloudflare stack| worker | dominio | responsabilità |
|---|---|---|
utt-engine | tripbier.com/* · *.tripbier.com/* | router principale — serve le pagine dal KV, API pubblica, sottodomini, banner LGPD |
utt-agentlink | /api/chat (interno) | pipeline Maestro — 6 mini-agenti per la generazione di itinerari tramite GPT-4o-mini |
utt-brewhub | brewhub.html | chat widget per birrificio, agente IA specializzato per slug, protezione /api/palpite |
utt-analytics | /api/collect (interno) | RUM 1st-party — raccoglie dwell time, ricorrenza, funnel; cron di aggregazione giornaliera |
utt-beerfeed | /api/news | radar di notizie birrarie per città — cron ogni lunedì |
utt-static | asset statici | serve CSS, JS, immagini tramite ASSETS binding |
| database | id | contenuto principale |
|---|---|---|
tripbeer-db | principale | birrifici BR, utenti, itinerari, passaporti, premi, stili, orari, social, analytics |
tripbeer-map | geo | birrifici globali con lat/lon/slug per la ricerca sulla mappa |
DB_AMERICAS | continente | US, CA, AR, CL, MX — fallback della mappa |
DB_EUROPE | continente | DE, BE, CZ, FR, ES, IT, PT, UK, NL, NO, SE… |
utt-analytics | id: 170900e5 | eventi RUM, sessioni, dwell, funnel del percorso |
| namespace | id | utilizzo |
|---|---|---|
UTT_CACHE | 4b5519d0… | pagine HTML (page:{nome}.html), sessioni (sess:{id}), indici geo (idx:{città}:{paese}), stats |
Schema delle chiavi KV: page:home.html · page:agm.html · page:copa.html · idx:porto+alegre:br:uuid · sess:abc123 · stats:total_cervejarias
Bucket: tripbeer-assets · CDN pubblico: pub-b8f8998895a64e77a4fa43f286aa08dd.r2.dev/
Archivia loghi di birrifici, immagini hero (AVIF/WebP/PNG), og:images per WhatsApp (JPEG 1200×630 <300KB) e asset di campagne partner.
pagine principali
pagine del sitoradar / mappa interattiva
funzionalitàIl radar (tripbier.com/mapa.html) è il cuore della piattaforma — una mappa Leaflet con 19.900+ pin di birrifici in 16 paesi, con MarkerCluster per le prestazioni e filtri in tempo reale.
All'apertura, la mappa usa la geolocalizzazione del browser o l'IP (Cloudflare cf.city) per centrarsi automaticamente. Ogni pin apre una card con rating, indirizzo, link a Instagram/sito e pulsante "vedi percorso su Google Maps". I birrifici premiati ricevono un marcatore differenziato.
Parametri URL accettati dalla mappa:
| parametro | esempio | effetto |
|---|---|---|
?lat=&lng=&zoom= | ?lat=-30.03&lng=-51.21&zoom=11 | centra su coordinate specifiche (usato dai sottodomini come AGM) |
?cidade=&uf= | ?cidade=Gramado&uf=RS | cerca e centra sulla città indicata |
?roteiro= | ?roteiro=variedade-curitiba-3d | carica ed evidenzia i birrifici di un itinerario salvato |
?proximas=1 | ?proximas=1 | forza la ricerca dei birrifici più vicini all'utente |
concierge IA
pipeline maestroIl concierge tripbier è una pipeline di 6 mini-agenti che trasforma un messaggio di testo in un itinerario birrario personalizzato. Ogni agente riceve una busta di dati, la arricchisce e la passa al successivo.
Il concierge è multi-funzione per design — non è un chatbot con menu di opzioni. L'utente scrive in linguaggio naturale e il sistema rileva automaticamente l'intenzione, senza richiedere la scelta di una modalità:
| l'utente scrive | intenzione rilevata | cosa accade |
|---|---|---|
| "C'è una IPA a Gramado?" | ricerca | elenca birrifici con IPA nel menu, con link diretto |
| "Spiegami cos'è una Weizen" | conversazione | il sommelier risponde sullo stile, la storia e gli abbinamenti |
| "Voglio passare 3 giorni a Curitiba" | generare itinerario | pipeline completa: meteo → curatore → narrativa personalizzata |
| "Dov'è il Dado Bier?" | navigare | apre la mappa con il pin del birrificio |
| "poa, fds, craft" | generare itinerario | normalizza sigla → estrae intenzione → genera itinerario di fine settimana a POA |
Il Validatore rileva le 4 modalità senza alcuna chiamata LLM — logica pura in JavaScript. Normalizza le sigle (poa → Porto Alegre, cwb → Curitiba) prima dell'Estrattore. Il Curatore interroga i database a cascata: DB Brasil → DB_AMERICAS → DB_EUROPE → DB_ASIA → Serper Discovery come fallback finale.
passaporto birrario
gamification · pwaIl passaporto tripbier è una PWA (Progressive Web App) installabile che permette all'utente di collezionare timbri a ogni visita ai birrifici partner. È il motore di gamification e fidelizzazione della piattaforma.
Flusso utente: L'utente accede a passaporte.tripbier.com, installa sul cellulare (home screen), si identifica con nome e WhatsApp (zero registrazione), e riceve timbri effettuando il check-in nei birrifici del circuito.
Circuiti disponibili: Ogni itinerario partner ha un circuito con N tappe. Completare tutte le tappe sblocca un beneficio nel birrificio partner (omaggio, sconto, esperienza esclusiva). Il pannello partner (admin-parceiro) mostra in tempo reale chi ha completato e permette di inviare il premio via WhatsApp.
Livelli: Curioso → Apprendista → Esploratore → Maestro → Sommelier — basati sul numero di timbri accumulati in totale.
itinerari
generazione e condivisioneGli itinerari vengono generati dalla pipeline Maestro e salvati automaticamente nel D1 con un URL permanente e unico — senza login. L'URL può essere condiviso via WhatsApp, incluso in un'e-mail o salvato nei preferiti.
Formato dell'URL: tripbier.com/roteiros.html?id={slug} — dove lo slug è generato dal Curatore a partire dalla città, dal profilo e dall'hash della selezione (es: variedade-porto-alegre-3d-a1b2).
Ogni itinerario memorizza: elenco di birrifici (id, nome, nota del curatore), città, profilo scelto, numero di giorni, meteo al momento della generazione e la narrativa del Presentatore.
16 paesi
copertura globaletripbier ha copertura attiva in 16 paesi, con database, città editoriali e routing tramite il concierge. Ogni paese ha pagine di città e integrazione con la mappa globale.
Le pagine dei paesi sono dinamiche — non esistono come file statici. Vengono generate in tempo reale dal worker a partire dai dati del D1: birrifici, città, premi e contenuto editoriale. Ciò significa che aggiungere un nuovo paese al database crea automaticamente tutte le sue pagine, senza alcun lavoro manuale di pubblicazione. È un'infrastruttura scalabile travestita da contenuto.
pagine delle città
editoriale geograficoOgni città con una massa critica di birrifici riceve una pagina editoriale curata — non generata automaticamente, ma scritta con identità locale. Il template base è caxias.html (standard serifato con sidebar, hero, pull-quote e griglia di card).
Struttura della pagina: hero con foto locale → editoriale "perché visitare" → pull-quote → griglia di birrifici con rating/instagram/sito/agente → eventi → itinerario suggerito. La sezione notizie è alimentata da utt-beerfeed in tempo reale.
Tutte le pagine delle città internazionali si trovano nella sottodirectory del paese: /de/berlim.html, /be/bruges.html, /it/roma.html, ecc. Come le pagine dei paesi, le pagine delle città sono generate dinamicamente — il worker costruisce l'HTML dal D1 ad ogni richiesta, senza file pre-compilati. Una nuova città con abbastanza birrifici nel database ha già la sua pagina disponibile.
| destinazione | link |
|---|---|
| Caxias do Sul (RS) — template di riferimento | tripbier.com/caxias.html |
| Blumenau (SC) — capitale della birra catarinense | tripbier.com/blumenau.html |
| Porto Alegre (RS) — polo AGM | tripbier.com/porto-alegre.html |
| Gramado (RS) — turismo + craft | tripbier.com/gramado.html |
| Bruges (Belgio) — riferimento mondiale | tripbier.com/be/bruges.html |
| Berlino (Germania) | tripbier.com/de/berlin.html |
| Praga (Repubblica Ceca) | tripbier.com/cz/praga.html |
landing pages dei birrifici
virtual landingI birrifici premiati (CBC, WBC o WBA) ricevono automaticamente una landing page dinamica generata dai dati del D1 — senza intervento manuale. L'accesso avviene tramite sottodominio: slug.tripbier.com.
Contenuto visualizzato: nome, città/stato, rating e voti Google, orari di apertura per giorno della settimana, birre in produzione (nome, stile, ABV, IBU), premi con medaglia e anno, blog post correlati, mappa embed, pulsanti per Instagram/sito/WhatsApp e chat con agente IA specializzato nel birrificio.
Regola di accesso: Se il birrificio ha un premio → renderizza la landing page completa. Se non ha premi ma ha Instagram o sito → reindirizza (302) al social. Se non ha nulla → 404.
Cache: ogni landing page è memorizzata nell'edge cache di Cloudflare per 1 ora (stale-while-revalidate=86400) — zero CPU nelle visite ricorrenti.
concorsi e premi
palmarestripbier indicizza le medaglie dei principali concorsi di birra artigianale e le visualizza nelle landing pages dei birrifici e nella pagina dei premi. Le medaglie sono un criterio di ranking nel Curatore.
| concorso | sigla | ambito | medaglie |
|---|---|---|---|
| Campeonato Brasileiro de Cerveja | CBC | Nazionale — Blumenau/SC | Gran Champion, Oro, Argento, Bronzo |
| World Beer Cup | WBC | Internazionale — USA | Gold, Silver, Bronze |
| World Beer Awards | WBA | Internazionale — UK | Country Winner, Gold, Silver |
| Concurso Gaúcho de Cerveja (AGM) | CGCBA | RS — organizzato dall'AGM | Oro, Argento, Bronzo |
| Mondial de la Bière | MDB | Brasile + Internazionale | Médaille d'Or, d'Argent, de Bronze |
pannello partner
admin · birrificiIl pannello partner è l'interfaccia di gestione per i proprietari di birrifici. Accesso tramite slug del birrificio (senza login — auth per token via URL, da implementare). URL diretta: tripbier.com/admin-parceiro?slug={slug}.
| scheda | cosa gestisce | tabella D1 |
|---|---|---|
| 🗺️ itinerari | Partecipanti ai circuiti del passaporto: progresso, check-in, pulsante "premiare" via WhatsApp | passaporte_carimbos · passaportes |
| 🍺 birre | Catalogo birre: nome, stile, ABV, IBU, descrizione, foto (URL) | estilos_cervejaria |
| 📋 menu | Voci del menu: categoria, nome, prezzo, descrizione, foto — visibile nella landing page | lp_cardapio |
| 🎯 promozioni | Campagne: titolo, tipo, sconto %, validità, toggle attivo/inattivo | lp_campanhas |
| 🕐 orari | Griglia settimanale Lunedì→Domenica: apertura, chiusura, chiuso, nota | horarios |
agm — associação gaúcha de microcervejarias
sottodominio · partnershipLa agm.tripbier.com è un sottodominio dedicato alla partnership tripbier × AGM — una pitch page editoriale con i 19 birrifici associati mappati, storia del movimento craft gaúcho e CTA per l'affiliazione.
Contenuto storico basato su ricerca accademica verificata: 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, primo microbirrificio BR) → WE Consultoria (1997) → Acerva Gaúcha (2003) → AGM fondata da Jorge Gitzler → ICMS ridotto nel RS → Polo Anchieta (2010) → 50+ associate oggi.
claim your brewery
acquisizione b2bI birrifici senza profilo completo mostrano un CTA "È il tuo birrificio?" nella landing page e nel chat widget. Cliccando, il proprietario compila un modulo semplice (nome, e-mail, ruolo, WhatsApp) che genera un lead nel D1 (reivindicacoes) e invia una notifica interna.
È il funnel di ingresso per il modello B2B: Starter (R$89/mese) → Professional (R$149/mese) → Premium (R$297/mese), con incremento di funzionalità nel pannello partner e visibilità nella mappa.
api endpoints
riferimento tecnico| metodo | endpoint | descrizione |
|---|---|---|
| GET | /api/proximas | cerca birrifici per coordinate, città o testo — motore principale della mappa e del concierge |
| GET | /api/suggest?q=&pais= | autocomplete di città (search-as-you-type, KV) |
| GET | /api/stats | totale birrifici attivi |
| GET | /api/ping | analytics: registra enter/leave/click con geo e dispositivo |
| POST | /api/chat | invia messaggio alla pipeline Maestro e riceve risposta dal concierge |
| GET | /api/news?cidade=&limit= | notizie birrarie per città (utt-beerfeed) |
| POST | /api/news/collect | forza la raccolta manuale di notizie (normalmente cron ogni lunedì) |
| GET | /api/estilos?q= | cerca birre per stile con foto — alimenta la griglia degli stili |
| GET | /api/parceiro/perfil?slug= | restituisce dati completi del birrificio: birre, menu, promozioni, orari |
| POST | /api/parceiro/cerveja | crea o aggiorna una birra nel catalogo del birrificio |
| DELETE | /api/parceiro/cerveja/:id | rimuove una birra dal catalogo |
| POST | /api/parceiro/cardapio | crea o aggiorna un elemento del menu |
| DELETE | /api/parceiro/cardapio/:id | disattiva elemento del menu (soft delete) |
| POST | /api/parceiro/campanha | crea o aggiorna una promozione/campagna |
| PUT | /api/parceiro/campanha/:id/toggle | attiva o disattiva una campagna |
| DELETE | /api/parceiro/campanha/:id | rimuove una campagna definitivamente |
| POST | /api/parceiro/horario | salva la griglia degli orari (upsert per giorno della settimana) |
| POST | /api/checkin | registra il check-in nel passaporto (timbro) |
| GET | /api/meu-passaporte | restituisce il passaporto dell'utente (per sessione) |
| POST | /api/roteiro-salvar | salva l'itinerario generato dal Maestro nel D1 |
| GET | /api/admin/painel?roteiro= | dati del circuito per il pannello partner (partecipanti, progresso) |
| GET | /sitemap.xml | sitemap dinamica con tutti i birrifici + pagine principali |
analytics
rum 1st-partytripbier usa analytics 1st-party — senza Google Analytics, senza cookie di terze parti. Il tracker (/a/tracker.js) è caricato da tutte le pagine e invia eventi a /collect in utt-analytics.
Dati raccolti: pagine visitate, tempo di permanenza (dwell), ricorrenza della sessione, funnel di conversione (home → mappa → itinerario → passaporto), paese/città (CF headers), tipo di dispositivo. Nessun dato personale — l'identificatore è un hash SHA1 di IP+UA.
Cron giornaliero: utt-analytics aggrega gli eventi grezzi e registra riepiloghi giornalieri nel D1 (id: 170900e5) — visitatori unici, pageviews, top-5 paesi, banda. La dashboard analytics legge da questi riepiloghi.
Clic tracciati: Instagram, sito, WhatsApp — per birrificio, per origine geografica, per dispositivo.
privacy
privacy · complianceIl banner dei cookie è iniettato dal worker in tutte le pagine tramite middleware — nessuna pagina deve includere lo script manualmente. Il consenso è memorizzato in localStorage per 365 giorni.
deploy e operazioni
infrastruttura · wranglerTutto il deploy viene effettuato con Wrangler CLI dalla directory G:\Site\tripbier\utt-engine\PRD\js\. La configurazione si trova in wrangler.toml. Le credenziali API (OpenAI, Serper, Google Places) si trovano in G:\Site\tripbier\upg-engine\pipeline\.env.
# Deploy del worker principale npx wrangler deploy --config wrangler.toml # Pubblicare pagina nel 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 di immagine su R2 npx wrangler r2 object put "tripbeer-assets/agm/foto.png" \ --file ./foto.png --remote --config wrangler.toml # Query nel D1 npx wrangler d1 execute tripbeer-db \ --command "SELECT COUNT(*) FROM cervejarias" \ --remote --json --config wrangler.toml
Regola d'oro: modificare un worker o un file HTML senza prima elencare cosa cambia e chi ne è interessato può causare una regressione silenziosa. Il processo corretto: (1) elencare le modifiche e l'impatto, (2) confermare con Marcos, (3) pubblicare.
Attenzione: Tripbier e ClubTour sono account/aziende separate — non incrociare mai worker, dati o credenziali tra i due.
strato sociale
comunitàLo strato sociale permette agli utenti del passaporto di interagire tra loro: condividere itinerari, commentare i birrifici, seguire altri viaggiatori e accumulare uno storico di visite visibile nel profilo pubblico.
Identità basata su telefono + nome (senza password). Avatar generato automaticamente da DiceBear. Il feed di attività mostra le visite recenti della comunità in ogni città.
Moderazione: una regex automatica rileva numeri di telefono, link e contenuti inappropriati nei commenti prima di salvarli nel D1.