~/case studies/drinkinbo
DrinkInBo

DrinkInBo - Bologna's Aperitivo Olympics

A gamified voting platform and social campaign for Confesercenti Bologna's "Aperitivo Olympics": QR-code voting drove 857 participants and 1,449 aperitivo uploads across 25 partner venues in one month.

clientDrinkInBo
sectorEvent Management
timeline6 weeks
DrinkInBo - DrinkInBo - Bologna's Aperitivo Olympics

01Overview

DrinkInBo - the "Aperitivo Olympics" - is a month-long gamified contest promoted by Confesercenti Bologna to drive customers into the city's most valued places for aperitivo during May 2026. Confesercenti asked MPSH for a companion voting platform and marketing campaign built around a simple mechanic: find one of the 25 participating venues, scan a QR code on-site, and upload a photo of your aperitivo to bank a vote for that venue.

We built a mobile-first Next.js app with a venue directory, dedicated per-venue voting pages reachable only via QR code (to keep votes tied to an actual visit), and a live scoreboard that stayed locked until the final award ceremony to sustain suspense through the month.

Alongside the public site, we built an admin dashboard for the organizers to manage the venue roster, moderate incoming photo uploads, and monitor votes and participation in real time.

On the marketing side we ran a Meta Pixel-tracked social campaign to push foot traffic to the participating bars and build daily buzz around the leaderboard reveal.

Key features

- QR-gated participation - each bar has a unique QR code; users can only vote from within the venue

- Device fingerprinting - one vote per person enforced via FingerprintJS, no account required

- Interactive map - bar locations browsable via Leaflet with geocoding

- Live stats - real-time participant, upload, and bar counters on the homepage

- Locked scoreboard - rankings revealed only at the ceremony date; admin preview available

- Admin dashboard - manages bars, uploaded photos, and user activity, with QR code generation

- MinIO-backed media storage

DrinkInBo - le "Olimpiadi dell'Aperitivo" - è un contest gamificato della durata di un mese, promosso da Confesercenti Bologna per portare il pubblico nei locali più gettonati per l'aperitivo a Bologna durante maggio 2026. Confesercenti ha chiesto a MPSH una piattaforma di voto e una campagna di comunicazione costruite attorno a una meccanica semplice: trovare uno dei 25 locali aderenti, scansionare il QR code in loco e caricare la foto del proprio aperitivo per far salire in classifica il locale.

Abbiamo sviluppato una web app mobile-first in Next.js con l'elenco dei locali, pagine di voto dedicate accessibili solo tramite QR code (per garantire che ogni voto corrispondesse a una visita reale) e una classifica live tenuta riservata fino alla serata di premiazione finale, per mantenere la suspense durante tutto il mese.

Accanto al sito pubblico, abbiamo realizzato una dashboard di amministrazione per permettere agli organizzatori di gestire l'elenco dei locali, moderare le foto caricate e monitorare voti e partecipazione in tempo reale.

Sul fronte marketing abbiamo gestito una campagna social tracciata con Meta Pixel per portare traffico ai locali aderenti e alimentare l'attesa per la classifica finale.

Funzionalità principali

- Partecipazione tramite QR code - ogni locale ha un QR code univoco; gli utenti possono votare solo

dall'interno del locale

- Device fingerprinting - un solo voto per persona garantito tramite FingerprintJS, senza necessità di

registrazione

- Mappa interattiva - i locali sono esplorabili su mappa tramite Leaflet con geocodifica degli indirizzi

- Statistiche in tempo reale - contatori live di partecipanti, upload e locali attivi visibili in homepage

- Classifica bloccata - le posizioni vengono svelate solo alla data della cerimonia di premiazione;

anteprima disponibile per gli amministratori

- Dashboard amministrativa - gestione dei locali, moderazione delle foto caricate e dell'attività degli

utenti, con generazione dei QR code e archiviazione media su MinIO

02Stack

Next.jsTypeScriptPostgreSQLPrismaTailwind

Have a similar challenge?

Let's talk about what you're building.

Get in touch