Tutti i lavori

Tarologa — prenotazioni, pagamenti, negozio video

Prenotazioni pagate e un negozio video in cui ogni lettura registrata arriva solo a chi l'ha comprata.

Stack:
  • Astro
  • React
  • Cloudflare Workers
  • Cloudflare D1
  • Cloudflare R2
  • Stripe
  • Workers AI
  • Claude API
Video di lancio · 9:16
  • ≈27endpoint API per prenotazioni, admin, pagamenti, negozio video e upload a blocchi
  • 20 minvideo da telefono caricati a blocchi con ripresa
  • 3mesi di aggiornamenti in produzione su richieste reali della cliente

Carte, pagamenti e video che apre solo chi li ha comprati

Un sito sotto un cielo notturno con il gioco delle carte, un motore di prenotazione con un pool di posti condiviso, il pagamento prima di ogni slot o video e gli upload dal telefono che diventano una libreria privata.

Tocca un blocco per vedere cosa fa.

  • Ingresso
  • Persone
  • Logica
  • AI
  • Infrastruttura
  • Uscita

Ingresso

Sito pubblico

Astro SSR su Workers. Isole React per il wizard di prenotazione, il gioco della carta e la chat delle domande; Lenis per lo scroll fluido.

  • Astro
  • React
  • Lenis

Passa a Motore prenotazioni

Le carte a ventaglio della home, un fotogramma della registrazione

Il problema

Una tarologa faceva consulti in videochiamata e gestiva a mano agenda e pagamenti. Voleva anche vendere letture registrate. Il sito doveva prendere prenotazioni a posti limitati, incassare in anticipo e consegnare ogni video solo a chi l'aveva comprato.

Cosa ho costruito

  1. Ho portato in un repo proprio il motore di prenotazione di un mio progetto precedente per un trainer e l'ho esteso con pool di posti condivisi e aperture e chiusure dell'agenda.
  2. Ho aggiunto Stripe Checkout con un webhook di cui verifico la firma con Web Crypto, senza SDK; senza chiavi il sito resta in modalità demo.
  3. Ho costruito il negozio video: catalogo, anteprima gratuita, acquisto singolo e una libreria personale che si apre da un link via email e si installa come mini-app.
  4. Ho fatto andare gli upload dal suo telefono su R2 a parti che riprendono dopo un'interruzione; un breve vocale sul video diventa una bozza di descrizione e tag (Whisper, poi Claude) che lei può modificare.
  5. Ho dato alla home un gioco per pescare una carta, una chat di domande frequenti e un suono d'ambiente, come isole React.

La parte difficile

I video lunghi dal telefono. Le sue registrazioni da 10 a 20 minuti arrivano in HEVC HDR a circa 12 Mbit/s: si bloccavano ogni pochi minuti e su molti browser non partivano. L'upload va su R2 a parti con ripresa, e un job programmato crea una copia H.264 720p a circa 2 Mbit/s che il player usa al posto dell'originale, che resta intatto.

Risultato

Online sul dominio della cliente e aggiornato per tre mesi sulle sue richieste reali, come aperture e chiusure dell'agenda e un pool condiviso di 10 posti. I bug di produzione, come la pagina di prenotazione bianca per una data limite scaduta, sono stati risolti nello stesso ciclo.

Il mio ruolo

Progetto per una cliente, in solitaria. Ho gestito la cliente e trasformato le sue richieste in task, configurato Stripe, R2, dominio e segreti, e collaudato pagamenti e upload su telefono; Claude Code ha scritto 71 dei 72 commit.