Blog

In evidenza

S3, Sharp e CloudFront: la media pipeline di ReD Sposi

S3, Sharp e CloudFront: la media pipeline di ReD Sposi

Perché GridFS non bastava per la galleria di un'app di matrimonio, come ho strutturato il pipeline di upload con Sharp, e perché CloudFront è la parte più silenziosa ma più importante.

27 marzo 2026awss3cloudfrontnode.jssharp
Costruire un'app per il mio matrimonio

Costruire un'app per il mio matrimonio

Ad agosto 2026 mi sposo. Invece di un sito statico, ho costruito un'app mobile full-stack per i nostri invitati — RSVP, programma, galleria, scommesse e chat. Ecco com'è andata.

25 marzo 2026react nativeexpoprodottopersonale
Claude Code: com'è davvero usarlo

Claude Code: com'è davvero usarlo

Ero scettico sugli strumenti di coding basati sull'AI. Dopo mesi di uso regolare, ho un'opinione più onesta di quanto suggerisca l'hype.

8 marzo 2026aitoolingproductivityengineering
Costruire con InvoiceTronic: fatturazione elettronica senza il dolore

Costruire con InvoiceTronic: fatturazione elettronica senza il dolore

Ho costruito un gestionale completo per la mia ditta individuale. La parte più difficile non era la contabilità — era l'SDI. Ecco come InvoiceTronic ha reso tutto gestibile.

3 marzo 2026invoicetronicfattura elettronicaapiengineering
Barba Studio è online

Barba Studio è online

Dopo mesi di sviluppo nei ritagli di tempo, Barba Studio — un'app di gestione prenotazioni pensata appositamente per i barbershop italiani — è ufficialmente lanciata.

1 marzo 2026barba studioreact nativeprodottolancio
Il mio stack tecnologico: Node.js, React e React Native

Il mio stack tecnologico: Node.js, React e React Native

Perché ho costruito ogni prodotto che ho mai rilasciato sulle stesse quattro tecnologie — e perché non cambierei nulla.

28 febbraio 2026node.jsreactreact nativeelectronengineering

Tutti gli articoli

La chat di gruppo che gira durante il matrimonio

La chat di gruppo che gira durante il matrimonio

Il gioco delle scommesse è asincrono — le risposte aspettano. La chat è live, gira il giorno del matrimonio, e quel giorno non posso essere al laptop. Questo cambia tutto.

11 aprile 2026react nativesocket.ionode.jsmongodbred sposi
Condividere i tipi tra quattro app

Condividere i tipi tra quattro app

ReD Sposi è un monorepo con Expo, Express, React + Vite, e Next.js. Tenere i tipi TypeScript allineati tra tutti e quattro senza un package condiviso formale è una scelta pragmatica che ha un prezzo.

10 aprile 2026typescriptmonoreporeact nativenode.jsarchitettura
NativeWind: Tailwind CSS su React Native

NativeWind: Tailwind CSS su React Native

Ho usato NativeWind in ReD Sposi dall'inizio. Funziona, e abbassa il costo cognitivo di lavorare tra web e mobile. Ma non è Tailwind — e confonderli costa.

9 aprile 2026react nativenativewindtailwindmobilestyling
Lead engineer di giorno, indie developer di notte

Lead engineer di giorno, indie developer di notte

Da anni faccio entrambe le cose in parallelo. Le due modalità si parlano più di quanto sembri — ma il cambio di contesto ha un costo che non si vede dall'esterno.

8 aprile 2026indie devcarrierapersonalhoneyside
Il gestionale che ho costruito per me

Il gestionale che ho costruito per me

A un certo punto ho smesso di adattarmi ai software contabili esistenti e ho costruito il mio. Non per venderlo, non per mostrarlo — solo perché niente di quello che esisteva funzionava davvero per il mio caso.

7 aprile 2026indie devmernfatturazionehoneysideprodotto
Notifiche push su mobile: quello che impari solo sbagliando

Notifiche push su mobile: quello che impari solo sbagliando

Expo Push Notifications sembrano semplici dalla documentazione. In produzione ci sono token che scadono, permessi che non arrivano, e una differenza fondamentale tra iOS e Android che impari a tue spese.

6 aprile 2026react nativeexpomobilenotifiche push
Il pannello admin che nessuno vede

Il pannello admin che nessuno vede

Ogni prodotto che ho costruito ha un pannello admin. Non lo mostra nessuno, non entra nei case study, non appare negli screenshot. È però la parte che rende possibile tutto il resto.

5 aprile 2026prodottoreactvitestrumenti interniindie dev
Prodotti con una scadenza scritta nel DNA

Prodotti con una scadenza scritta nel DNA

ReD Sposi finisce ad agosto. Non è un bug del design — è una feature. Costruire software con una data di fine prestabilita cambia ogni decisione che prendi lungo la strada.

4 aprile 2026prodottodesignred sposipersonale
Il mio server di produzione non usa container

Il mio server di produzione non usa container

ReD Sposi, Barba Studio, Gestionale Molinari: tutti su Ubuntu con PM2, senza Docker, senza orchestrazione. Non è pigrizia — è una scelta deliberata che tiene ancora.

3 aprile 2026devopsdeploypm2indie devprodotto
Expo Router ha cambiato come penso alla navigazione

Expo Router ha cambiato come penso alla navigazione

Prima configuravo stack e tab in codice. Ora creo file. Sembra un dettaglio sintattico, ma è un cambio di modello mentale più profondo di quanto sembri.

2 aprile 2026react nativeexpoexpo routermobile
Auth per persone che conosci già

Auth per persone che conosci già

La maggior parte dei sistemi di autenticazione è progettata per gli sconosciuti. ReD Sposi era diverso: sapevo già chi erano tutti i miei utenti. Quello che sembra un dettaglio ha cambiato ogni decisione di design.

1 aprile 2026react nativeexpoprodottoauthred sposi
Chiudere il trimestre da indipendente

Chiudere il trimestre da indipendente

Il 31 marzo non è solo la fine del primo trimestre — è un appuntamento fisso con la realtà. Fatture, LiPE, prodotti: come faccio il bilancio ogni tre mesi.

31 marzo 2026indie devfiscopersonalprocess
Una LiPE a credito: il formato XML campo per campo

Una LiPE a credito: il formato XML campo per campo

Il file XML che si invia all'Agenzia delle Entrate per una LiPE sempre a credito ha alcune particolarità non ovvie: tag condizionali, campi assenti, e un credito che si propaga di modulo in modulo.

30 marzo 2026ivafiscoitaliaxml
Anatomia di una LiPE

Anatomia di una LiPE

Il modello di comunicazione delle liquidazioni periodiche IVA spiegato campo per campo: cosa contiene il quadro VP, come si calcola l'IVA da versare, e cosa rivela la struttura del modello sul sistema fiscale italiano.

29 marzo 2026ivafiscoitaliafatturazione
Chi piange per primo: il gioco delle scommesse di ReD Sposi

Chi piange per primo: il gioco delle scommesse di ReD Sposi

Come ho costruito il sistema di quiz e classifica dell'app — una state machine semplice, Socket.io per il real-time, e qualche scelta di design che non mi aspettavo di trovare interessante.

28 marzo 2026react nativenode.jssocket.iomongodbprodotto
Anatomia di una FatturaPA

Anatomia di una FatturaPA

Il formato XML della fattura elettronica italiana racconta molto più di quanto sembra: burocrazia codificata, scelte di design interessanti, e qualche stranezza da conoscere.

26 marzo 2026fattura elettronicaxmlfatturapaitalia
Il design delle API è UX

Il design delle API è UX

Gli endpoint che esponi sono un prodotto. Lo sviluppatore che li chiama è il tuo utente. Una cattiva DX si accumula in modi che una cattiva UI non fa mai.

24 marzo 2026engineeringarchitecturebackendapi
Lavorare senza un designer

Lavorare senza un designer

La maggior parte degli sviluppatori solisti cerca di progettare tutto da sola. La mossa migliore è prendere il minor numero possibile di decisioni di design — e lasciare che sia un sistema a fare il resto.

23 marzo 2026engineeringindie devuifrontend
Il naming nell'era dell'AI

Il naming nell'era dell'AI

I buoni nomi hanno sempre avuto importanza. Con gli strumenti di coding AI, ne hanno di più. Un LLM legge il tuo codice come farebbe un nuovo ingegnere — inferendo l'intento dai nomi, non dal comportamento a runtime.

22 marzo 2026engineeringaitoolingprocess
L'interfaccia è il contratto

L'interfaccia è il contratto

Le implementazioni sono economiche da cambiare. Le interfacce no. La riga di codice più costosa che scriverai non è nella logica — è nella firma del tipo.

21 marzo 2026engineeringarchitecturetypescriptbackend
Gli errori sono dati

Gli errori sono dati

L'istinto quando qualcosa va storto è catturare l'errore e andare avanti. È l'istinto sbagliato. Gli errori sono informazioni su quello che il tuo sistema sta davvero facendo — ignorarli è come volare alla cieca.

20 marzo 2026engineeringbackendarchitectureindie dev
Il testing è un problema di design

Il testing è un problema di design

La maggior parte degli sviluppatori pensa di avere un problema con i test. In realtà ha un problema di design. Il codice difficile da testare è un sintomo — e la soluzione raramente riguarda i test.

19 marzo 2026engineeringarchitecturetestingindie dev
Il mindset asincrono

Il mindset asincrono

La maggior parte dei problemi di performance non riguarda il rendere le cose più veloci — riguarda il fare lavoro al momento sbagliato. Il default sincrono è una trappola cognitiva, e uscirne è soprattutto un cambiamento di prospettiva.

18 marzo 2026engineeringarchitecturebackendperformance
Lo scope è il vero prodotto

Lo scope è il vero prodotto

Il backlog è un cimitero di buone idee che avrebbero ucciso il prodotto. La competenza più difficile nell'indie dev non è costruire — è decidere cosa non costruire.

17 marzo 2026indie devproductengineeringprocess
Traccia le tue decisioni

Traccia le tue decisioni

Git ti dice cosa è cambiato. Non ti dice perché hai fatto quella scelta. Quel contesto mancante è ciò che trasforma una decisione ragionevole in un mistero sei mesi dopo.

16 marzo 2026engineeringarchitectureprocessindie dev
Scrivere prompt è programmare

Scrivere prompt è programmare

La maggior parte delle persone tratta il prompting come un'attività a tentativi. È invece una disciplina ingegneristica — con gli stessi cicli di feedback, tecniche di debugging e principi di astrazione di qualsiasi altro codice.

15 marzo 2026aiengineeringproductivitytooling
Il costo delle dipendenze

Il costo delle dipendenze

Ogni pacchetto che aggiungi è una scommessa che qualcun altro lo manterrà più a lungo di quanto tu ne abbia bisogno. Vale la pena pensarci prima di eseguire npm install.

14 marzo 2026engineeringarchitectureindie devjavascript
Il real-time è più difficile di come appare

Il real-time è più difficile di come appare

Le WebSocket sembrano semplici finché non vai in produzione. WebRTC sembra semplice finché non devi farlo funzionare ovunque. Ecco cosa ho imparato costruendo Clover e Argan.

13 marzo 2026engineeringreal-timewebrtcwebsocketsarchitecture
Come progetto un database

Come progetto un database

Il design dello schema è la parte più difficile da cambiare in un software. Il modo per farlo bene è partire dalle query, non dalle entità.

12 marzo 2026engineeringdatabasesmongodbarchitecture
Quando riscrivere, quando fare refactoring

Quando riscrivere, quando fare refactoring

La conversazione sulla riscrittura è una delle più cariche emotivamente nell'ingegneria del software. Ecco come capire quale delle due ti serve davvero.

11 marzo 2026engineeringarchitectureindie dev
La seconda versione

La seconda versione

La prima versione ti fa entrare nella stanza. La seconda è dove inizia il lavoro vero.

10 marzo 2026engineeringindie devproduttivitàpersonale
Rilasciare in produzione è una competenza

Rilasciare in produzione è una competenza

La differenza tra chi finisce i progetti e chi no non è il talento o la motivazione. È un insieme di abitudini che si possono imparare.

9 marzo 2026engineeringproduttivitàindie devpersonale
La maggior parte dei portfolio da sviluppatore è rotta

La maggior parte dei portfolio da sviluppatore è rotta

Cosa cercano davvero chi assume, e perché quasi tutti i portfolio mancano il punto.

7 marzo 2026careerengineeringhiring
IoT e web: cosa ho imparato lavorando in entrambi i mondi

IoT e web: cosa ho imparato lavorando in entrambi i mondi

Lavorare tra hardware e frontend insegna cose che nessuno dei due mondi ti dice da solo.

6 marzo 2026iotwebengineeringarchitecture
MongoDB senza Mongoose

MongoDB senza Mongoose

Mongoose è la scelta predefinita per MongoDB in Node.js. Ho smesso di usarlo — ecco perché il driver nativo è spesso l'opzione migliore.

5 marzo 2026mongodbnode.jstypescriptengineering
Costruire nei margini

Costruire nei margini

Un lavoro a tempo pieno, una magistrale, clienti da gestire e due prodotti in produzione. Ecco come funziona davvero.

4 marzo 2026indie devproductivitypersonalhoneyside
Perché Expo ha cambiato il modo in cui sviluppo app mobile

Perché Expo ha cambiato il modo in cui sviluppo app mobile

Odiavo lo sviluppo mobile. Expo ha risolto quasi tutto — ecco come.

2 marzo 2026exporeact nativemobileengineering
Next.js App Router: cosa uso davvero dopo un anno

Next.js App Router: cosa uso davvero dopo un anno

Un'analisi pratica delle funzionalità dell'App Router che si guadagnano il posto — e quelle che ho imparato a evitare.

27 febbraio 2026next.jsreactwebengineering