Il software local-first è un modo di progettare le applicazioni in cui i dati vivono prima di tutto sul dispositivo dell'utente e il server è un aiuto, non un requisito.

L'idea è stata resa popolare da un saggio del 2019 del laboratorio Ink & Switch, che ha descritto sette ideali per questo tipo di software.

Il primo vantaggio è la velocità: poiché le operazioni avvengono sui dati locali, l'app risponde subito, senza attendere la rete.

Il secondo è la possibilità di lavorare offline. Si può scrivere, modificare e organizzare anche in treno o senza connessione, e le modifiche si sincronizzano dopo.

Il terzo è la proprietà dei dati. I file restano tuoi, in formati aperti, e continuano a funzionare anche se l'azienda che ha creato l'app chiude.

La sfida principale è la sincronizzazione tra più dispositivi. Quando due persone modificano lo stesso documento offline, bisogna unire i cambiamenti senza perdere nulla.

Qui entrano in gioco i CRDT, strutture dati che permettono di fondere le modifiche in modo automatico e coerente, qualunque sia l'ordine in cui arrivano.

Anche la collaborazione in tempo reale diventa possibile senza un server centrale che decide tutto, perché ogni copia può accettare modifiche in autonomia.

Ci sono dei compromessi: la sicurezza, il backup e la ricerca su grandi quantità di dati richiedono più attenzione rispetto a un servizio ospitato nel cloud.

Applicazioni come editor di note, strumenti di disegno e gestori di attività mostrano che si può avere insieme la comodità del cloud e il controllo del locale.
