Nell'ultimo post grain era ancora un'idea con una bella landing page. Zero righe di codice dell'app. Oggi è installato sul mio telefono e lo uso davvero — ed è lì che le cose si fanno interessanti, perché usare una cosa è molto diverso dal disegnarla.

Questo post è il salto in mezzo.


Prima di tutto, il design è saltato

La palette sabbia e terracotta era bella. Ci avevamo lavorato settimane. Ma ogni volta che aprivo il prototipo sentivo una distanza tra quello che grain voleva dire e quello che l'interfaccia diceva.

grain registra il momento esatto in cui nasce un pensiero. È preciso per natura. La vecchia UI era troppo morbida per quella precisione.

Così è saltato tutto. Via la sabbia, via le card arrotondate. Dentro: bianco, nero, tre grigi. Il terracotta sopravvive solo nel logo. E DM Mono ovunque — ogni timestamp, ogni granello, ogni etichetta. L'app adesso sembra un log, ed è esattamente quello che è.

Anche l'input è sparito, come pannello separato. L'ultima riga della lista è già aperta, con il timestamp che lampeggia. Scrivi, premi invio, il granello entra nel flusso e si apre una riga nuova. Non c'è un pulsante. Non c'è un box. C'è solo il cursore.


Poi l'app ha iniziato a comportarsi come un'app

Sulla carta la home doveva mostrare "solo i granelli di oggi". Bella regola, finché non la usi: il giorno prima sparisce, e con lui metà del senso di un'app costruita sul tempo.

Così la home è diventata un flusso continuo su più giorni. Scorri all'indietro e ritrovi ieri, l'altro ieri, la settimana scorsa, ognuno sotto la sua data.

I topic hanno fatto la stessa fine. All'inizio erano una schermata a parte: tocchi un topic e ti porta altrove. Sbagliato — ti fa uscire dal flusso. Adesso un topic è una sezione che si apre lì dove sei, dentro la lista, e ci scrivi come scrivi ovunque. Stesso gesto per tutto: tieni premuto un granello o un topic e compaiono le stesse azioni.

La vecchia regola "solo oggi" l'abbiamo cancellata anche dalla documentazione. Tenere la spec onesta conta quanto tenere onesto il codice.


La timeline, rifatta da capo

Questa è la parte di cui vado più fiero, ed è anche quella che abbiamo buttato e ricominciato.

La prima timeline era uno scroll infinito di tutta la tua storia. Sembrava ricca. In pratica era un muro: più granelli accumulavi, meno ci capivi qualcosa.

Adesso la timeline guarda un giorno alla volta. Sopra c'è un calendario del mese in cui ogni giorno ha un puntino più o meno acceso a seconda di quanto hai scritto — un colpo d'occhio su dove sono finite le giornate piene. Scegli un giorno, oppure scorri avanti e indietro con uno swipe. I granelli sono raggruppati in mattina, pomeriggio e sera, e in testa c'è un piccolo riepilogo: quanti pensieri, e su cosa. Tocchi un tag e finisci dritto nella ricerca di quel tag.

Da uno scroll che ti seppelliva a una vista che ti orienta.


Ritrovare le cose

Se scrivi ogni giorno, prima o poi vuoi sapere quando e quanto pensi a qualcosa. La ricerca per tag adesso risponde anche a questo: una griglia che mostra a che ore e in che giorni torni su un certo argomento, e quali altri tag gli compaiono accanto più spesso. Non è analitica per il gusto dell'analitica — è il modo in cui i pattern di una giornata vengono fuori da soli. Che poi è la promessa di grain dall'inizio.


È tua, e resta tua

Niente account, niente cloud, niente rete: i granelli stanno sul tuo dispositivo e basta. Ma "sul dispositivo" non deve voler dire "in trappola", quindi c'è l'export — in JSON se vuoi i dati grezzi, in Markdown se vuoi leggerli — e l'import per riportarli dentro. C'è anche il tema chiaro, scuro o automatico, perché un'app che apri a tutte le ore deve seguire la luce, non combatterla.


Dove siamo

L'app base è, in pratica, finita. Funziona, è testata, e gira come build firmata su un telefono vero — non più un prototipo dentro un emulatore.

Quello che manca è una scelta, non una dimenticanza: grain+, la parte di sincronizzazione e note condivise. È il prossimo blocco grosso, e non volevamo toccarlo prima che le fondamenta — il giorno, il flusso, la timeline — fossero solide. Adesso lo sono.

Il principio, intanto, non si è mai mosso. Ogni momento, al suo posto.


Il prossimo post va sotto il cofano: database locale, timestamp, e come tutto questo reggerà quando i dispositivi diventeranno più di uno.

Come nasce grain. Lo costruisco da solo, con l'IA come strumento di lavoro: le idee, le scelte e i «no» restano miei; l'esecuzione la acceleriamo insieme — questo devlog compreso. Come lavoro con l'IA →