Architettura software · Sviluppo · Direzione tecnica

Roberto Drago. Dall’idea al prodotto.

Progetto e sviluppo software. Seguo le scelte tecniche, il codice e il lavoro del team, fino al rilascio.

Dentro il mio lavoro
RD / Dall’idea al rilascioArchitettura software
DATILOGICAINTERFACCIA

Interfaccia / Logica / Dati

01 / Progetti

Progetti selezionati. Dentro il lavoro.

Venture, esperimenti e piattaforme cliente. Apri un progetto per scoprirne il contesto, il mio ruolo e le scelte tecniche.

Filtra i progetti

11 prodotti

01Venture

MatchRoom

Stanze in affitto: inquilini e host si scelgono, e la chat si apre solo con un sì reciproco.Su App Store · Android a breve
Il sistema, in breve
InquilinoHostsceglie una stanzasceglie un inquilinoMatch: sì da entrambiChatBlocca / segnalala chiude

Il mio contributo

In un team di tre, ho costruito l'applicazione: app mobile, backend e sito. Mi sono occupato delle scelte tecniche, dell'esperienza utente e del rilascio, fino all'App Store.

La scelta chiave

Problema
Un controllo sui criteri di Apple e Google è tornato come no-go: le regole di accesso ai dati si fidavano troppo di quello che mandava l'app, e mancavano blocco, segnalazioni e cancellazione dell'account verificata.
Soluzione
Spostare i permessi nel database, aggiungere blocco, segnalazioni e una console di moderazione applicati lì, e testare la cancellazione dell'account da capo a fondo prima di pubblicare.
02Venture

posa

Una fotocamera condivisa per gli eventi: pochi scatti a testa, tutti visibili al momento del reveal.Online
  1. La fotocamera di posa a una festa di compleanno, all'ultimo di cinque scatti

    01Scatto

    Pochi scatti a testa. Il contatore è la pellicola.

  2. Il rullino dell'evento con una foto sfocata e bloccata e il conto alla rovescia per il reveal

    02Attesa

    Le foto restano bloccate finché il rullino non si sviluppa.

Venture condivisa con Giulio

Il mio contributo

Ho costruito tutta la parte web, lavorato sul backend Supabase e fatto circa metà dell'app: ho ridisegnato i rullini e le schermate di dettaglio, ottimizzato la fotocamera e la visualizzazione delle foto, aggiunto reactions e condivisione.

La scelta chiave

Problema
Scatto, upload e visualizzazione erano lenti: ogni ospite scaricava foto a piena risoluzione, spesso con la rete debole di una festa.
Soluzione
Comprimere sul telefono al momento dello scatto, mostrare una copia leggera in griglia e nel visore, e servire l'originale solo quando qualcuno la scarica.
Com'è costruito
Il sistema, in breve
CreatoApertoChiusoRevealScadutoa orario, dal server (pg_cron)Scatto compressoCoda sul tel.1280 px → griglia2560 px → downloadriprova finché c'è campol'originale viaggia solo al download
03Venture

Booka

Cinque app per saloni e barbieri, un solo database condiviso sotto.In produzione
Il sistema, in breve
web · Next.jsmobile · ExpoSitoGestionaleSuperadminApp staffApp clientiPacchetti condivisi: tipi · auth · API · UI · flag · i18nSupabase · un modello dati per tutte e cinqueRLS · RPC · Edge Functions · migrazioni in un repo dedicato

Venture condivisa con Giulio

Il mio contributo

Ho costruito le tre applicazioni web: il sito pubblico con le prenotazioni, il gestionale e la console superadmin. Ho progettato il database insieme a Giulio, che ha realizzato le due app mobile.

La scelta chiave

Problema
Cinque app con utenti e ritmi di rilascio diversi dovevano condividere attività, staff, clienti e appuntamenti senza mantenere cinque versioni della stessa verità.
Soluzione
Un monorepo con pacchetti condivisi, ogni app rilasciata per conto suo, e un repository separato che possiede il database: migration, RLS, RPC. I dati restano unici, i rilasci no.
04Venture

EveryOneSeated

Dalla prima conferma all'ultimo posto, un unico piano per l'evento.In sviluppo
Il sistema, in breve
Web · KonvaMobile · SkiaRSVP ospitiGeometria + planner condivisiUn evento · ospiti · tavoli · postiSupabase · dati dell'evento condivisi

Venture condivisa con Giulio

Il mio contributo

Sto sviluppando il prodotto con Giulio: uno spazio di lavoro web e mobile che collega la disposizione dell'evento con la lista ospiti, i posti a sedere e le risposte agli RSVP.

La scelta chiave

Problema
Un tavolo spostato nella planimetria e un ospite assegnato a un posto devono riferirsi allo stesso evento su web e mobile.
Soluzione
Pacchetti condivisi per dominio e planner, con un unico modello dati Supabase. Ogni piattaforma ha il suo renderer del canvas; geometria e regole dei posti restano nel codice comune.
05Venture

Beep

La patente, un quiz alla volta. Capire gli errori e tornarci.In sviluppo
Il sistema, in breve
A/BAMCQC · CAPTutte le patentiUn'unica base ExpoQuizTeoriaRipassoProgressi locali · nessun account

Venture condivisa con Giulio

Il mio contributo

Sto sviluppando Beep con Giulio: dal percorso di studio e dalla revisione dei quiz a una famiglia di app per diverse categorie di patente, costruite sulla stessa base.

La scelta chiave

Problema
Categorie di patente diverse richiedono app mirate, senza moltiplicare le implementazioni di quiz, ripasso e progressi.
Soluzione
Un'unica base di codice, quattro varianti di build. Ognuna seleziona categorie e identità visiva, con progressi salvati localmente e separati per categoria di patente.
06Venture

Lembi

Foto, carta e piccoli ricordi, composti in un quaderno tutto tuo.Su App Store
Il sistema, in breve
Foto + scansioniScrittura a manoCassetto materialiUn documento di pagina · livelli + tascheCanvas · SwiftUISQLite · GRDBPDF · .lembiComponi · salva · annulla · esporta

Prodotto personale indipendente

Il mio contributo

È un mio prodotto, dall'idea e dalla direzione visiva all'app nativa per iPhone e iPad. Ho costruito canvas, acquisizione dei materiali, persistenza locale ed export intorno al gesto di comporre un diario fisico, e l'ho pubblicata su App Store.

La scelta chiave

Problema
Spostare un frammento in una tasca, annullare un gesto o esportare una pagina deve conservare l'intera composizione.
Soluzione
Un solo documento di pagina per canvas, salvataggio, annulla ed export, con persistenza transazionale SQLite. I materiali restano distinti dalle istanze posizionate sulle pagine.
07Progetto cliente

Ionian Experience

Hospitality · Next.js · cinque lingueIn produzione
Il sistema, in breve
lato serverForm contattiAPI serverinsertLeadsEmail✕validalettura diretta dal browser: negata da RLS

Progetto cliente

Piattaforma web multilingua per il settore hospitality, progettata per presentare esperienze locali e raccogliere richieste commerciali qualificate.

Next.jsTypeScriptSupabaseRLSResendnext-intl

Vincolo sui dati

Il form pubblico doveva registrare nuovi contatti senza esporre in lettura il database che contiene i lead.

Soluzione

Ho spostato il flusso di scrittura sul server, integrando validazione, API, RLS Supabase ed email transazionali. Il client non dispone di accesso ai record esistenti.

Sistema e risultato

Sistema costruito

Frontend Next.js internazionalizzato, API server, Supabase RLS, raccolta lead gestita dal server ed email transazionali.

Risultato

Cinque lingue, un solo percorso controllato per l'acquisizione dei lead e nessuna lettura pubblica del CRM.

08Progetto cliente

Fabbrichiere

Piattaforma creator · arte contemporaneaBeta chiusa
Il sistema, in breve
VisitatoreMembroArtistaPortfolio, web●●●Feedback–●●Originale per la stampa––●Shop · Printful, Stripeoffoffoffgarantito da RLS e storage privato, non dall'interfaccia

Progetto cliente · in cui investo

Piattaforma digitale dedicata agli artisti visivi italiani: portfolio, confronto tra pari e gestione protetta dei file originali in qualità di stampa.

Next.jsReactTypeScriptSupabaseRLSResend

Scelta di prodotto

Integrare portfolio, community e una possibile evoluzione commerce senza replicare le dinamiche di un social generalista né rendere pubblici i file ad alta risoluzione.

Il mio contributo

Modello di prodotto, flussi per gli artisti, autenticazione, policy di storage, interazioni sociali, strumenti di amministrazione e disegno del futuro layer commerce.

Sistema e risultato

Sistema costruito

Next.js e Supabase per profili artista, catalogo delle opere, originali privati, RLS, feedback e controlli amministrativi.

Risultato

Beta a inviti operativa. L'integrazione commerce con Printful e Stripe è stata progettata ma non ancora implementata.

09Venture

Gran Finale

Media cross-platform · esperienza da eventoMVP costruito
Il sistema, in breve
Prompt sul telefonoClip dell'ospiteStorage sigillatonessuno la vedeCoda di renderingWorker FFmpegUn film, giorni dopoFallback manuale

Esperienza mobile per eventi: gli invitati registrano brevi video durante la festa e ricevono in seguito un film montato, senza accedere alle clip degli altri partecipanti.

ExpoReact NativeSupabaseFFmpegStripeDocker

Vincolo di esperienza

L'interazione durante l'evento doveva restare immediata, mentre il sistema gestiva identità, accessi ai media, rendering asincrono e pagamenti.

Architettura operativa

Ingresso all'evento, passaggio da utente anonimo a creator, permessi sui media, worker FFmpeg, pagamenti Stripe, notifiche e politiche di conservazione.

È previsto un fallback manuale per garantire il servizio anche in caso di problemi durante l'evento.

Sistema e risultato

Sistema costruito

Client Expo, autenticazione e storage Supabase, worker FFmpeg, Stripe, notifiche e procedura operativa di fallback.

Risultato

MVP pronto per un pilota, con media privati per impostazione predefinita e pagamenti già integrati.

10Progetto sperimentale

Open Agent Skills

AI governance · developer enablement · workflow agenticiOpen source
Il sistema, in breve
AI Act auditInventarioApplicabilitàEvidenzeReportWorkshopDiscoveryPubblicoScalettaDeck Remotionevidenze nei file + fonti primarie

Le mie skill open source

Workflow agentici basati su evidenze per attività complesse: audit dei sistemi AI rispetto all'AI Act e trasformazione di codebase sconosciute in workshop pronti da erogare.

AI agentsEU AI ActAI governanceCodexClaude CodeCursorRemotionTypeScript

AI Act Audit

Audit tecnico in sei fasi sulle pratiche AI vietate e sugli obblighi di trasparenza dei contenuti. Inventaria le funzionalità, verifica l'applicabilità, collega i rilievi a evidenze nel codice e fonti primarie, quindi produce un report prudente per engineering e revisione legale.

Workshop Generator

Workflow di discovery guidato dal repository che trasforma una codebase sconosciuta in un workshop strutturato per l'onboarding e in un deck animato con Remotion, adattandosi allo stack e al pubblico reali.

Due skill installabili, senza runtime, API key o dipendenza da una sola piattaforma: il metodo viaggia insieme al repository.

Sistema e risultato

Sistema costruito

Workflow SKILL.md portabili, fonti primarie caricate in modo selettivo, template di report, regole di discovery del repository, un template Remotion e test comportamentali.

Risultato

Una raccolta open source che unisce AI governance e developer enablement, trasformando conoscenza complessa in procedure ripetibili e verificabili per diversi coding agent.

11Progetto sperimentale

Aletheia

Diario privato · PWA offlineOnline
Il sistema, in breve
il tuo telefono · funziona offlineDiarioIndiziLocal storageNessun serverexportFile JSON

PWA mobile per annotare gesti, conversazioni e altri segnali personali. I dati restano sul dispositivo e non vengono inviati a un server.

ReactTypeScriptVitePWALocal storageOffline

Funzioni principali

Interfaccia mobile, persistenza locale, installazione offline ed esportazione, importazione ed eliminazione dei dati in formato JSON.

Non richiede account, backend o analytics. La disponibilità dei dati dipende esclusivamente dal dispositivo e dagli eventuali export creati dall'utente.

Sistema e risultato

Sistema costruito

PWA React progettata per smartphone, persistenza locale, supporto offline e controlli espliciti per esportare o eliminare i dati.

Risultato

Applicazione online e installabile, senza raccolta centralizzata delle informazioni inserite.

02 / Metodo

Dai requisiti al rilascio.Con responsabilità sull'intero ciclo.

Quattro aree di lavoro collegate: analisi, architettura, guida tecnica e produzione.

Quattro fasi
01 / Obiettivi, requisiti e vincoli

Scope e piano di delivery

Raccolgo il contesto di business, individuo le decisioni mancanti e trasformo il brief in un perimetro che stakeholder e team possano verificare.

  • Analisi degli stakeholder
  • Definizione dello scope
  • Pianificazione tecnica
Competenze lungo il cicloDal frontend all'operatività.

BuildReact / Next.js · Vue / Nuxt · Angular · React Native / Expo

SistemiNode / NestJS · Supabase / PostgreSQL · Strapi · Docker

OperationsVercel / Cloudflare · Azure / MSAL · CI/CD · AI / RAG

03 / Profilo

La produzione insegna.Il team non deve pagare due volte.

Software architect in The Wave Studio. Guido la delivery dei prodotti cliente, resto vicino al codice e trasformo ciò che impariamo in basi riutilizzabili per il progetto successivo.

  1. 01Rendere esplicita la decisione.
  2. 02Seguirla fino alla produzione.
  3. 03Lasciare uno standard migliore.
The Wave StudioItaliaItaliano + inglese

04 / Contatti

Hai un prodotto da portare o rimettere in produzione?

Posso supportarti su architettura software, direzione tecnica frazionale, product leadership e delivery tecnica con contributo sul codice. Scrivimi il contesto, il blocco principale e il risultato atteso: ti risponderò indicando se e come posso essere utile.