← Blog
react nativeexpoprodottopersonale

Costruire un'app per il mio matrimonio

25 marzo 2026

Costruire un'app per il mio matrimonio

Ad agosto 2026 io e Rosemarie ci sposiamo. Ad un certo punto, invece di fare un sito per il matrimonio come una persona normale, ho deciso di costruire un'app nativa.

Non sono del tutto sicuro del perché. Probabilmente perché non riuscivo a fare diversamente.

Cos'è

ReD Sposi — Rosemarie e Daniele Sposi — è un'app mobile full-stack disponibile su iOS e Android. Gli invitati accedono con un codice invito, e da lì trovano tutto quello che serve per il giorno del matrimonio:

  • Il conto alla rovescia
  • L'RSVP con preferenze sul menù, allergie e richiesta navetta
  • Il programma della giornata, i dettagli sulla location e gli alloggi consigliati
  • Una galleria foto e video — gli invitati possono caricare più file contemporaneamente con una barra di progresso, scorrere con lo swipe e saltare i contenuti. I video vengono convertiti in MP4 lato server; le thumbnail vengono generate con Sharp sia per le foto che per i video e servite via CloudFront
  • Una chat tra invitati
  • Un gioco di scommesse — chi piange per primo, quanto durano i discorsi, cose del genere
ReD Sposi schermata home con conto alla rovescia ReD Sposi schermata menu

È probabilmente più app di quanta un matrimonio strettamente necessiti. Ma è stato davvero divertente da costruire, e mi ha dato l'occasione di ragionare con attenzione su cose che di solito progetto per i clienti.

ReD Sposi schermata gioco scommesse ReD Sposi schermata caricamento gallery

Lo stack

È un monorepo: Expo + React Native sul mobile, Express + MongoDB sul backend, un pannello admin in React + Vite, e una landing page in Next.js. L'app mobile usa NativeWind (Tailwind CSS per React Native), Expo Router per la navigazione file-based, e autenticazione JWT con codici invito.

Niente di esotico. Lo stesso stack su cui lavoro da anni — ed è in parte il punto. Questo era un progetto che volevo godermi, non uno su cui volevo passare il tempo a fare debug di un runtime che non conosco.

Il deploy è manuale su un server Ubuntu via PM2. Niente container, niente orchestrazione. Veloce da configurare, facile da ragionare, e più che sufficiente per qualche centinaio di invitati.

Costruire qualcosa di personale

La maggior parte di quello che costruisco è per altre persone — clienti, utenti, aziende. Questo era diverso. Ogni decisione che ho preso l'ho presa sia come sviluppatore che come utente della cosa. È una posizione strana in cui trovarsi.

Ha significato che mi importava di dettagli che avrei potuto saltare. La classifica del gioco delle scommesse. Come si sente la conferma dell'RSVP. Lo stato di caricamento della chat. Nessuno me lo aveva chiesto. Io li volevo.

Ha anche significato che la scadenza era inamovibile e che la posta in gioco era personale in un modo in cui i progetti professionali raramente lo sono. C'è qualcosa di chiarificante nel costruire software dove non puoi davvero rimandare la data di lancio.

Cosa manca ancora

L'app è live e gli invitati la stanno già usando. La chat gira su Socket.IO e le notifiche push funzionano. A questo punto manca solo il matrimonio.

Il ciclo principale funziona. Gli invitati stanno prenotando, confermando la presenza, caricando foto e facendo scommesse.

Agosto non può arrivare abbastanza presto.