Il problema
Gestisco un ampio ecosistema personale — briefing IA programmati, container di automazione, un archivio di conoscenza, un sistema di esecuzione, diversi siti pubblicati. Era ben documentato e solido dal punto di vista architetturale. Era anche, ho scoperto, strutturalmente incapace di accorgersi dei propri guasti.
Un audit su quattro domini ha fatto emergere ciò che era silenziosamente vero da mesi:
- Tre briefing programmati su cinque erano morti in silenzio — quello quotidiano da circa tre mesi
- Due container di automazione erano fermi da tre giorni, senza policy di riavvio e senza notifica
- Il disco consumava circa 5 GB al giorno verso la soglia critica, senza diagnosi
- I documenti costituzionali contraddicevano da settimane la realtà operativa
- L’unica routine di health check era strutturalmente incapace di vedere tutto questo
Vale la pena nominare con precisione la modalità di guasto, perché si generalizza: ogni componente era individualmente sano e non riferiva a nessuno. Non esisteva una superficie in cui il sistema nel suo insieme parlasse al suo operatore. Aggiungere un’altra dashboard avrebbe aggiunto una sedicesima cosa da controllare. Il vuoto non era il monitoraggio. Era l’orientamento.
Il vero vincolo
Il vero vincolo non era tecnico. Era l’attenzione.
Ho una diagnosi di ADHD e sono sopravvissuto a un trauma cranico. Uno strumento che richiede vigilanza per essere utile è uno strumento che abbandonerò entro due settimane — e ho il cimitero di app di produttività abbandonate a dimostrarlo. Quindi il brief di design non era "mostra tutto lo stato del sistema." Era più difficile:
"Progetta per la mattina peggiore, non per la migliore."
Quel singolo vincolo ha generato quasi ogni decisione successiva. Ha escluso la completezza, escluso la configurazione, escluso tutto ciò che premia il controllo frequente, ed escluso l’intero linguaggio visivo dell’urgenza a cui gli strumenti di monitoraggio ricorrono per default.
Cinque decisioni che hanno fatto il lavoro
1. Osserva, non possiede
Compass non possiede alcun dato primario. Ogni fatto che mostra vive altrove e viene letto, mai scritto. Il test a cui l’ho sottoposto: cancella Compass stasera e non perdi nulla. È questo che lo rende sicuro da cui dipendere — non potrà mai diventare un altro sistema che richiede backup, migrazione o cura.
2. La fiducia è la funzionalità
Ogni dato porta con sé la propria età. Ogni inferenza porta con sé il proprio grado di confidenza. E, cosa fondamentale, "il monitor stesso è giù" è uno stato di prima classe — non un errore, non uno schermo vuoto. Uno strumento di monitoraggio che non sa segnalare il proprio guasto è esattamente lo strumento che mi ha appena tradito per tre mesi. Compass è costruito per ammettere quando non sa.
3. Un tetto rigido di tre elementi, e una prossima mossa
L’interfaccia si rifiuta di mostrare più di tre cose che richiedono attenzione e propone esattamente una prossima azione consigliata al giorno. Non una lista con priorità — una singola mossa. Le liste rimandano la decisione a chi legge; in una brutta mattina, è in quel rinvio che lo strumento perde.
4. Il silenzio è un deliverable
"Niente ha bisogno di te" è uno stato di successo di cui andare fieri, progettato con la stessa cura di qualsiasi avviso — non uno stato vuoto, non un segnaposto. La maggior parte degli strumenti tratta la quiete come assenza di contenuto. Qui è il prodotto che funziona. Il budget di notifiche è di circa zero-due push a settimana, per scelta.
5. Default anti-vergogna
Niente streak. Niente percentuali di completamento. Niente muri rossi. Le card di guasto riportano causa, riparazione e una correzione a un tocco, subordinata al consenso — mai un rimprovero. Un sistema che ti fa sentire in colpa per lo stato che riporta è un sistema che smetterai di aprire, e uno strumento di monitoraggio che non apri è peggio di nessuno.
Il marchio porta la tesi
Il brief di identità era "uno strumento silenzioso, non un’app esigente." Il marchio è una rosa dei venti ridotta alla sua forma minima e onesta:
- L’anello è un arco di 300° con un’apertura deliberata — il sistema non è mai "finito", solo orientato. Si legge anche come un anello di avanzamento a riposo: calmo, non sta contando.
- L’ago è l’intera tesi del prodotto in una sola forma. La lama nord è piena — ciò che conta adesso. La lama sud è solo contornata — contesto che puoi ignorare senza rischi. Segnale da un lato, ignorabile dall’altro, disegnato.
- Il punto di perno sei tu. Tutto ruota attorno a un centro fisso.
È monocromatico ed eredita currentColor, quindi barra di navigazione, favicon, tema scuro ed embed sono tutti lo stesso asset. Zero varianti da mantenere — che è di per sé una decisione ADHD-first.
Silenzio cromatico
L’interfaccia di base è quasi monocromatica e il colore saturo è riservato esclusivamente alla semantica di stato, così il colore significa sempre qualcosa. Quando tutto può essere colorato, il colore smette di trasmettere informazione — è così che le dashboard di monitoraggio diventano carta da parati.
Lo stato compare come piccoli punti e barre sottili, mai come sfondi di card inondati di colore. Un muro di rosso è panico, non informazione.
L’accento — un ambra chiamato north-500 — è stato scelto al posto dell’ovvio blu o verde acqua per tre ragioni convergenti: si legge come luce diurna calda, resta distinguibile dalla coppia semantica verde/rosso a tutela di chi non distingue i colori, e il caldo su inchiostro sopravvive al Night Shift di iOS senza trasformarsi in fango. Un elemento ambra per schermata, al massimo.
La tipografia è lo stack di sistema, per scelta: zero costo di download per un’app offline-first e una sensazione nativa — Compass dovrebbe sembrare parte del telefono, non un sito web. Solo quattro dimensioni. Il peso fa la gerarchia; la dimensione fa la struttura.
Una correzione che vale la pena registrare
La prima specifica dava per scontato che lo stack di font di sistema ereditasse il Dynamic Type di iOS, offrendo gratis un ridimensionamento accessibile del testo. Non è così — Dynamic Type non si propaga nei contenuti web di una PWA. Una design review l’ha intercettato prima della build.
Compass quindi include un proprio controllo della dimensione del testo come moltiplicatore rem alla radice, con tutta la tipografia definita in rem sulla scala a quattro ruoli, così la gerarchia sopravvive al ridimensionamento. È una piccola correzione che sarebbe stata un fallimento di accessibilità pubblicato in silenzio — e per un pubblico di una sola persona che ne ha bisogno, un fallimento fatale.
Architettura
Due componenti nuovi, tutto il resto riutilizzato:
- Un collector — un unico script orario che legge segnali già esistenti (JSON di health, snapshot degli strumenti, heartbeat dei file, stato di container, scheduler, git e disco), verifica ciascuno rispetto a un contratto di cadenza dichiarato, esegue una diagnosi deterministica dei guasti e invia un singolo oggetto di stato autenticato. Lo stato personale non tocca mai un URL pubblico.
- Una superficie — una PWA statica, installabile e pienamente funzionante offline. Quattro schermate, due livelli di profondità.
Il livello di intelligenza è deliberatamente a due stadi: prima il deterministico, poi l’IA. Gli heartbeat sono aritmetica sui timestamp dei file, non chiamate a un modello. L’IA annota i fatti; non è mai i fatti. E lo scheduler gira in locale anziché nel cloud — proprio perché lo scheduler cloud è la cosa che ha fallito in silenzio per tre mesi. Il guasto ha insegnato l’architettura.
Costo ricorrente: circa zero.
Stato — onestamente
La Fase 1 è pubblicata e attiva. Il collector gira, la PWA è installata sul mio telefono e il ciclo mattutino di due minuti è reale. È in uso quotidiano da parte del suo utente previsto.
La Fase 0 — riparare i guasti trovati dall’audit — è parzialmente completa; l’andamento del disco resta aperto. La Fase 2 (il motore delle opportunità e le narrazioni dei punti ciechi) è specificata e non costruita. La Fase 3 esiste solo come condizione: costruirla solo se le Fasi 1 e 2 diventano abitudine.
I criteri di successo con cui lo giudicherò a sei mesi sono deliberatamente falsificabili: zero guasti silenziosi di durata superiore a 48 ore, almeno un’intuizione trasformata in azione a settimana, meno di quindici minuti di manutenzione al mese, e quello che ho chiamato il test Prove-It — sette giorni lontano, una schermata, completamente riorientato.
Cosa mi ha insegnato questo progetto
Progettare per il proprio vincolo è il brief più netto che esista. Non c’era nessuna user persona dietro cui nascondersi e nessuna ricerca da interpretare — se una decisione era sbagliata, l’avrei sentita la mattina dopo. I default anti-vergogna, il tetto di tre elementi e il silenzio-come-successo non sono stati scelti da una libreria di pattern; sono stati scelti perché le alternative mi avevano già tradito personalmente.
La cosa più preziosa che uno strumento di osservabilità possa fare è ammettere la propria ignoranza. L’intero progetto esiste perché un health checker non riusciva a vedere il proprio punto cieco. Costruire "non lo so" come stato di prima classe — anziché come lacuna — è la decisione di design che porterei in qualsiasi prodotto che gestisce l’incertezza, il che oggi significa la maggior parte dei prodotti con dell’IA dentro.
E la moderazione è più difficile da progettare della capacità. Ogni schermata è stata un argomento contro l’aggiunta di qualcosa.
Come è stato realizzato
Compass è stato progettato e costruito con l’assistenza dell’IA dall’inizio alla fine, lavorando con Claude su audit, specifica e implementazione — e rivisto da passaggi di agenti avversariali che hanno individuato errori reali, incluso il problema di Dynamic Type descritto sopra.
La direzione di prodotto, i vincoli, i principi di design e ogni decisione di giudizio sono miei. Dichiaro il metodo in modo esplicito perché è così che lavoro oggi, e perché un case study sulla fiducia che fosse vago sulla propria provenienza sarebbe una pessima pubblicità per il principio.