Tutti i lavori

Parrucchiere — sito immersivo e prenotazioni

Un sito con l'atmosfera del salone, più prenotazioni online e un'agenda iPad tutta sua.

Stack:
  • Astro
  • React
  • Three.js
  • GLSL
  • Cloudflare Workers
  • Cloudflare D1
  • Resend
  • Playwright
Video di lancio · 9:16
  • 100Lighthouse accessibilità, best practice e SEO
  • 348 mslargest contentful paint
  • 6.9 → 1.7 s3D pronto su telefono, dopo l'ottimizzazione

Specchio, poltrona e un motore di prenotazione tutto suo

Tocca un blocco per vedere cosa fa.

  • Logica
  • Persone
  • Ingresso
  • Infrastruttura
  • Dati
  • Uscita

Il cuore del sistema

Il sistema del salone

Una home WebGL con l'atmosfera del locale, un motore di prenotazione di proprietà del salone invece di uno strumento in affitto, un'agenda iPad per lo staff e promemoria che partono da soli, tutto su Cloudflare.

Collegato a Motore prenotazioni, Agenda staff, Wizard prenotazione, Home WebGL, Cron promemoria, Cloudflare D1, SMS ed email

Il problema

Il salone viveva su Instagram e WhatsApp, e lo strumento di prenotazione che usava stava per chiudere. Serviva un sito con l'atmosfera del locale (marmo nero, oro, un'insegna al neon) invece di un template, più un sistema di prenotazione e un'agenda staff di sua proprietà.

Cosa ho costruito

  1. Ho costruito la home come scena WebGL: un muro di marmo nero, un'insegna al neon ricalcata dal logo vero e migliaia di capelli disegnati dalla GPU, che cambiano con ogni servizio e seguono il cursore.
  2. Ho esteso il motore di prenotazione di un mio progetto precedente: slot da 30 minuti, ora locale con ora legale, link firmati per spostare o annullare, email con invito calendario, SMS.
  3. Ho costruito un'agenda iPad per lo staff: una colonna per collaboratore, pressione lunga per trascinare, stati arrivato, pagato e non presentato, aggiornata ogni 5 secondi.
  4. Ho aggiunto un worker cron che manda i promemoria ogni 15 minuti e anonimizza i dati vecchi dei clienti.
  5. Ho buttato la prima versione dopo una critica a punteggio e sono ripartito da un concept più forte, i fili di luce.

La parte difficile

Rendere usabile su telefoni economici una home piena di shader. Ho aggiunto livelli per dispositivo, compilazione parallela degli shader e un loop di render che si addormenta quando niente si muove. Con la CPU rallentata, il 3D pronto su telefono è sceso da 6,9 s a 1,7 s e il tempo di blocco da 4,8 s a 0,7 s.

Risultato

Il sito ha Lighthouse 100 su accessibilità, best practice e SEO, con LCP a 348 ms e CLS a 0. Il flusso di prenotazione passa i controlli end-to-end (nuova prenotazione, slot occupato, troppo tardi), dopo 19 cicli di QA documentati e con 11 versioni ripristinabili.

Il mio ruolo

Progetto in solitaria, diretto dall'inizio alla fine: ho scritto brand DNA, regole e specifiche, giudicato ogni versione con una critica a punteggio e testato su telefoni veri. Gran parte del codice l'ha scritto Claude Code, e ho fatto costruire a Codex una versione parallela come confronto.