Lab

Esperimenti di interazione e animazione, con la spiegazione tecnica di come li costruiamo. Non tutti finiscono in un sito, ma da qui nascono le feature che proponiamo ai clienti.

DemoAPI
Google Reviews Widget

Google Reviews Widget

  • React
  • Vite
  • HTML
  • +1
Vedi la demo →

Le recensioni Google mostrate direttamente sul sito, aggiornate in automatico: la stessa fiducia di Google Maps senza far uscire il visitatore dalla pagina. Il primo esperimento del Lab costruito in React invece del solito HTML/CSS/JS vanilla, con dati dimostrativi per ora.

Vedi la demo →
Google Reviews Widget

Le recensioni Google mostrate direttamente sul sito, aggiornate in automatico: la stessa fiducia di Google Maps senza far uscire il visitatore dalla pagina. Il primo esperimento del Lab costruito in React invece del solito HTML/CSS/JS vanilla, con dati dimostrativi per ora.

Come funziona

I dati hanno la stessa forma della risposta 'Place Details' dell'API Google Places (rating, numero recensioni, testo/autore/voto per ogni recensione), per ora mockati (per non esporre una key con costo per richiesta su una pagina pubblica del Lab), ma la logica è già pronta a ricevere dati veri: basta sostituire la funzione che li recupera con una vera chiamata, dietro una key ristretta per dominio o un proxy dedicato come per SkyTracker, a seconda di quanto la key debba restare privata. Il caricamento passa da uno stato 'skeleton' (gestito con gli hook useState/useEffect di React) ai dati veri, per simulare l'attesa reale di una chiamata di rete. Il rating medio frazionario (es. 4.8 su 5) è reso con due righe di stelle sovrapposte, quella rossa ritagliata in percentuale via CSS: nessuna immagine, nessuna libreria di icone. Pattern vendibile a qualunque cliente con una scheda Google Business attiva, a prescindere dal settore.

  • React
  • Vite
  • HTML
  • CSS
Vedi la demo →
DemoSlider
Slider fruit soda

Slider fruit soda

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Slider prodotto per un brand di bibite alla frutta, costruito in HTML, CSS e JavaScript vanilla per esplorare animazioni tra slide.

Vedi la demo →
Slider fruit soda

Slider prodotto per un brand di bibite alla frutta, costruito in HTML, CSS e JavaScript vanilla per esplorare animazioni tra slide.

Come funziona

L'etichetta della lattina cambia scorrendo un'unica immagine sprite dentro il mockup, spostata con una custom property CSS (--left) calcolata in JS dalle dimensioni reali di sprite e contenitore: niente percentuali fisse da ritoccare a ogni modifica grafica. Aggiunto anche lo swipe touch per mobile. Stessa tecnica adattabile a un selettore colore/variante su un e-commerce.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoAnimazione 3D
3D animation scroll

3D animation scroll

  • Three.js
  • GSAP
  • HTML
  • +2
Vedi la demo →

Animazione scroll-driven con un modello 3D animato che cambia posizione e rotazione seguendo lo scroll della pagina, realizzata con Three.js e GSAP.

Vedi la demo →
3D animation scroll

Animazione scroll-driven con un modello 3D animato che cambia posizione e rotazione seguendo lo scroll della pagina, realizzata con Three.js e GSAP.

Come funziona

Un modello 3D (.glb) animato con Three.js si muove e ruota seguendo lo scroll della pagina: a ogni sezione che entra a schermo, GSAP anima la posizione e la rotazione del modello verso le coordinate assegnate a quella sezione. Effetto d'impatto per una hero page, ma pesante da caricare (modello 3D + librerie), da usare con parsimonia, un solo pezzo per pagina.

  • Three.js
  • GSAP
  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoPrenotazioni
Prenotazione Appuntamenti

Prenotazione Appuntamenti

  • React
  • Vite
  • HTML
  • +1
Vedi la demo →

Un calendario di prenotazione con servizi, orari disponibili e conferma immediata: il tipo di funzionalità che uno studio medico, un salone o qualsiasi attività su appuntamento può integrare direttamente nel proprio sito. Secondo esperimento del Lab in React, con dati dimostrativi.

Vedi la demo →
Prenotazione Appuntamenti

Un calendario di prenotazione con servizi, orari disponibili e conferma immediata: il tipo di funzionalità che uno studio medico, un salone o qualsiasi attività su appuntamento può integrare direttamente nel proprio sito. Secondo esperimento del Lab in React, con dati dimostrativi.

Come funziona

Wizard a 4 step (servizio, data, orario, dati) gestito con lo stato React del componente: ogni passo avanza solo dopo una scelta valida, con un indicatore di progresso che si riempie di rosso mano a mano. Il calendario calcola la griglia del mese a runtime (settimane di 7 celle, lunedì come primo giorno) e blocca automaticamente domeniche e giorni passati; gli orari già 'prenotati' sono calcolati in modo deterministico dalla data scelta, così ogni giorno mostra una disponibilità plausibile e diversa senza un vero backend. La conferma finale disegna un segno di spunta via SVG (stroke-dashoffset animato) e genera al volo un piccolo scoppio di coriandoli in JS, posizionati e colorati casualmente: nessuna libreria, solo elementi assoluti animati via CSS. Stesso principio dei dati mock del widget recensioni: pronto a collegarsi a un vero backend di prenotazione (o a un servizio come cal.com, già usato per Axpro Paintball) sostituendo solo la funzione che genera la disponibilità.

  • React
  • Vite
  • HTML
  • CSS
Vedi la demo →
DemoSlider
Coffee carousel

Coffee carousel

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Carosello prodotto per un brand di bevande al caffè, con reveal a cerchio tra una slide e l'altra, realizzato in HTML, CSS e JavaScript vanilla.

Vedi la demo →
Coffee carousel

Carosello prodotto per un brand di bevande al caffè, con reveal a cerchio tra una slide e l'altra, realizzato in HTML, CSS e JavaScript vanilla.

Come funziona

Il pannello di descrizione non entra con un semplice fade, ma con un clip-path: circle() che si espande da un punto fisso via keyframe CSS: dà più carattere al cambio slide. Le card 'in coda' (quella attiva e le due successive in anteprima) sono gestite con classi JS che ne cambiano posizione e scala, un effetto a stack tipico delle vetrine prodotto premium.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoAPI
SkyTracker

SkyTracker

  • HTML
  • CSS
  • JavaScript
  • +1
Vedi la demo →

App meteo con ricerca città, condizioni attuali e previsioni a 3 giorni, realizzata integrando una API esterna tramite un proxy Cloudflare Worker dedicato per non esporre la chiave lato client.

Vedi la demo →
SkyTracker

App meteo con ricerca città, condizioni attuali e previsioni a 3 giorni, realizzata integrando una API esterna tramite un proxy Cloudflare Worker dedicato per non esporre la chiave lato client.

Come funziona

L'app chiama l'API meteo esterna non direttamente dal browser, ma tramite un proxy dedicato su Cloudflare Worker che tiene la chiave come secret lato server: il client contatta solo l'URL del Worker, mai l'API reale. Pattern riusabile ogni volta che un sito statico deve consumare un'API a pagamento o con quota senza esporre credenziali nel codice pubblico.

  • HTML
  • CSS
  • JavaScript
  • Cloudflare Workers
Vedi la demo →
DemoSlider
Movie slider

Movie slider

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Slider di film in evidenza con trama, valutazione IMDB e miniature di navigazione, realizzato in HTML, CSS e JavaScript vanilla.

Vedi la demo →
Movie slider

Slider di film in evidenza con trama, valutazione IMDB e miniature di navigazione, realizzato in HTML, CSS e JavaScript vanilla.

Come funziona

Stesso motore di Animal slider (spostamento DOM + classe CSS temporanea), con schede più ricche: poster, trama, valutazione IMDB e miniature di navigazione. Il logo nell'header vive fuori dal ciclo di animazione delle slide, così non si ridimensiona a ogni cambio slide. Buona base per un catalogo prodotti o portfolio con più metadati per voce.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoSlider
Slider image effect

Slider image effect

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Galleria di immagini con effetti di transizione avanzati, realizzata in HTML, CSS e JavaScript vanilla per sperimentare interazioni hover e reveal.

Vedi la demo →
Slider image effect

Galleria di immagini con effetti di transizione avanzati, realizzata in HTML, CSS e JavaScript vanilla per sperimentare interazioni hover e reveal.

Come funziona

Le immagini sono ritagliate in cerchi (border-radius: 50%) il cui diametro è una custom property CSS ricalcolata in JS a ogni resize con il teorema di Pitagora sulle dimensioni del contenitore: il cerchio combacia sempre con la diagonale dello slider, a qualunque breakpoint, senza valori scritti a mano. Pattern utile per una galleria fotografica con un tocco più editoriale di uno slider standard.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoSlider
Vertical slider

Vertical slider

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Slider verticale a pannelli per una collezione di abbigliamento, con navigazione a freccia, rotella del mouse e autoplay, realizzato in HTML, CSS e JavaScript vanilla.

Vedi la demo →
Vertical slider

Slider verticale a pannelli per una collezione di abbigliamento, con navigazione a freccia, rotella del mouse e autoplay, realizzato in HTML, CSS e JavaScript vanilla.

Come funziona

Slider verticale a pannelli: la navigazione risponde a freccia, rotella del mouse (con un debounce di 600ms per non saltare più slide con un solo gesto) e autoplay a timer, che si resetta a ogni interazione manuale per non litigare con l'utente subito dopo un input. Il movimento è una traslazione CSS (transform: translateY) sincronizzata su due colonne indipendenti. Adatto a un hero 'a capitoli' (collezioni, categorie di servizio) quando lo scroll verticale classico è troppo lento per il messaggio.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →
DemoSlider
Animal slider

Animal slider

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Slider di immagini a tema animali con transizioni fluide tra le slide, realizzato in HTML, CSS e JavaScript vanilla.

Vedi la demo →
Animal slider

Slider di immagini a tema animali con transizioni fluide tra le slide, realizzato in HTML, CSS e JavaScript vanilla.

Come funziona

Il carosello non anima una traslazione su un contenitore: lo script sposta fisicamente le slide nel DOM (appendChild/prepend), e affida il movimento visivo a una classe CSS temporanea (next/prev) rimossa a fine transizione. Le miniature seguono la stessa logica in parallelo. Zero dipendenze esterne, riusabile per una galleria prodotti o un hero a più immagini su qualsiasi sito statico.

  • HTML
  • CSS
  • JavaScript
Vedi la demo →

Componenti

Dettagli più piccoli degli Esperimenti sopra (navbar, notifiche, micro-interazioni) pensati per essere aggiunti a un sito già esistente. Prova dal vivo direttamente qui.

Layout

Bento Spotlight

Griglia "bento" (tessere di dimensioni diverse) con una luce che segue il cursore su ogni tessera. Pattern 2026 per sezioni "perché scegliere noi" o panoramiche servizi.

Galleria

Galleria Rotante 3D

Immagini disposte a cerchio in 3D, ruotabile con i pulsanti avanti/indietro.

Media

Popup Video

Bottone che apre un player video a schermo intero in overlay, senza far lasciare la pagina al visitatore.

Micro-interazione

Like al Doppio Click

Doppio click su un’immagine per un “mi piace” animato con contatore, lo stesso gesto reso popolare da Instagram.

Feedback

Toast Notification

Notifiche a comparsa con 4 varianti (successo, errore, info, warning) e barra di progresso.

Progress

Progress Ring Sfumato

Variante più decorativa del progress ring, con gradiente di colore e numero animato al centro.

Progress

Circular Progress Bar

Indicatori di progresso circolari animati, puro CSS.

Navigazione

Navbar Responsive (offcanvas)

Menu che passa da barra orizzontale a pannello laterale su mobile, con pulsante di accesso in evidenza.

Navigazione

Navbar Responsive (a tendina)

Variante di menu responsive con pannello a tendina su mobile, invece dello scorrimento laterale.

Navigazione

Sticky Navbar

Barra di navigazione che resta fissa durante lo scroll e cambia stile quando si supera l’hero.

Tema

Interruttore Dark Mode (sole/luna)

Variante del toggle tema con icone sole/luna animate e sfondo che cambia colore in dissolvenza.

Tema

Interruttore Dark Mode

Toggle animato per passare da tema chiaro a scuro, con etichetta di stato.

Micro-interazione

Bottone con Effetto Ripple

Onda d’increspatura al click sul bottone, lo stesso feedback tattile dei design in stile Material.

Feedback

Feedback a Emoji

Selettore di gradimento con tre faccine per raccogliere un giudizio rapido dall’utente.

Micro-interazione

Lettere Rimbalzanti

Titolo che anima ogni lettera al passaggio del mouse, per dare movimento a un testo altrimenti statico.

Feedback

Popup di Conferma

Finestra di conferma che compare al click di un bottone, utile per messaggi di iscrizione o azione completata.

Progress

Barra di Caricamento

Barra di avanzamento animata con percentuale numerica, per schermate di caricamento o upload.

Micro-interazione

Auto Text Animation

Testo animato a macchina da scrivere, in loop su più frasi.

Micro-interazione

Fade tra Elementi Vicini

Al passaggio del mouse su un elemento, quelli vicini si affievoliscono per metterlo in risalto.

Micro-interazione

Effetto al Click

Animazione di scala e colore sul bottone come conferma visiva del click.

Ti piace uno di questi effetti?

Scopri i pacchetti Web →