Tutti i lavori

Birreria — sito 3D guidato dallo scroll

Scorrendo si attraversa il pub in 3D, fino al menu completo e all'ordine su WhatsApp.

Stack:
  • Astro
  • Three.js
  • Lenis
  • JavaScript
  • GitHub Actions
  • GitHub Pages
  • 0modelli 3D scaricati: ogni oggetto è procedurale
  • 3livelli: 3D pieno, 3D alleggerito su telefono, ripiego SVG
  • 15bug documentati come sintomo, causa e fix

Da un file di testo a una visita del pub

Un sito statico in cui lo scroll muove una camera dalla porta alla spina, ai panini e alle freccette, mentre menu e orari stanno in un solo file di contenuti.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Infrastruttura
  • Logica
  • Uscita

Ingresso

File dei contenuti

Un solo file TypeScript contiene orari, menu completo con prezzi, contatti e SEO. I campi ancora da confermare sono segnati nei commenti.

  • TypeScript

Passa a Build statica

Il problema

Una birreria con birre alla spina, hamburger e sala giochi aveva solo foto e un menu in PDF. Serviva un sito che restituisse l'atmosfera del locale, veloce su telefono e aggiornabile senza sviluppatori.

Cosa ho costruito

  1. Ho fatto dello scroll il racconto: si entra dalla porta e la camera attraversa il locale, fermandosi a stazioni con piccole scene.
  2. Ho diretto i percorsi della camera come waypoint con tensione ed easing, perché il giro non sembri su binari.
  3. Ho fatto costruire ogni oggetto in modo procedurale in Three.js, senza modelli scaricati, per controllare peso e aspetto.
  4. Ho messo orari, menu, contatti e SEO in un solo file di contenuti, così aggiornare è modificare un testo, e ordini e richieste di tavolo partono come messaggio WhatsApp precompilato.
  5. Ho trasformato il metodo in una skill riusabile per siti 3D guidati dallo scroll: camera rig, timeline di scroll, render loop, controllo del dispositivo.

La parte difficile

Un moto fluido su telefono. L'animazione legata al frame rate causava scatti, la camera saltava al primo scroll su Chrome e Safari mobile e il caricamento pigro sulla GPU creava micro-scatti. Ho registrato ogni bug come sintomo, causa e fix; i micro-scatti sono spariti pre-riscaldando la GPU lungo il percorso della camera.

Risultato

Online come sito statico con la visita e la pagina menu, ricostruito e pubblicato da GitHub Actions a ogni push. Un audit di seconda opinione fatto con Codex sul bundle pubblicato ha dato 8,1/10 al prodotto e 7,4/10 al codice.

Il mio ruolo

Ho definito concept e regia della camera, scelto scene e dettagli, testato su telefoni veri e unito il lavoro con le mie pull request; il codice l'ha scritto Claude Code sui suoi branch.