Tutti i lavori

Tappalo — card NFC per le recensioni

Una card NFC o un QR porta i clienti alla recensione Google, e ogni passo viene tracciato.

Stack:
  • Next.js
  • React
  • TypeScript
  • Prisma
  • PostgreSQL
  • Neon
  • Google Places API
  • Tailwind
  • 9 / 36commit sono miei; gli altri 27 sono del collaboratore
  • +3,200righe aggiunte nei miei commit, 926 rimosse

Un tap, una recensione, un livello in più

Tocca un blocco per vedere cosa fa.

  • Logica
  • Dati
  • Uscita
  • Persone
  • Ingresso
sync con Google una volta al giorno

Il cuore del sistema

Il giro delle recensioni NFC

Un tap apre il box della recensione Google. Poi la sincronizzazione giornaliera vede ogni recensione nuova e vera e la trasforma in XP, badge e un punteggio che il titolare vede salire.

Collegato a Sync recensioni, Pagina brandizzata

Il problema

Ristoranti, bar e barbieri ricevono poche recensioni Google anche quando i clienti sono soddisfatti: manca un gesto semplice al momento giusto e manca un modo per misurare il risultato. Il prodotto risponde con una card NFC o un QR che apre una pagina brandizzata e poi il box della recensione.

Cosa ho costruito

  1. Ho portato la produzione da SQLite a PostgreSQL su Neon con Prisma, lasciando SQLite per il lavoro in locale.
  2. Ho costruito il percorso di crescita: un punteggio di reputazione da 0 a 100, XP, 10 livelli, serie giornaliere e 15 badge, con missioni ricavate dai numeri reali del locale.
  3. Ho collegato gli XP alla sincronizzazione giornaliera con Google già esistente, così i punti arrivano solo da recensioni reali nuove e da traguardi sul numero di recensioni.
  4. Ho aggiunto il Brand Vault, salvato su database le richieste di card con un pannello admin per gestirle e rivisto cosa sblocca ogni piano.
  5. Ho rimosso dal repo una password admin scritta nel codice.

La parte difficile

Rendere il gioco impossibile da falsare. Gli XP arrivano solo dalla sincronizzazione giornaliera con Google: una recensione dà punti la prima volta che la sync la vede, ogni traguardo paga una volta sola e le azioni hanno tetti giornalieri, così il progresso segue le recensioni vere e non i clic.

Risultato

Il prodotto è online con un nuovo nome sul suo dominio. I miei 9 commit su 36 hanno aggiunto circa 3.200 righe: database di produzione, percorso di crescita con Brand Vault, richieste card con il loro pannello admin e il fix della password.

Il mio ruolo

In un team di due: il collaboratore ha costruito la base Next.js e la maggior parte del prodotto (27 commit su 36); le mie parti sono quelle sopra, scritte con Claude Code.