Come Mole è passato da script shell ad app Mac
Per anni ho tenuto uno script shell privato il cui unico compito era liberare il Mac dalla spazzatura. Mi piace un computer che resti scattante, così l'ho affinato di continuo, da 500 righe a oltre 2.000, come qualcuno cura un giardino. Nell'ottobre 2025 il disco si è riempito di nuovo. Ho provato diversi cleaner noti e nessuno ha davvero spostato l'ago, poi ho lanciato il mio script e ho visto sparire decine di gigabyte in un solo passaggio. Sembrava qualcosa da condividere.
Ero in vacanza a Sanya, seduto a bordo piscina in hotel, e ho deciso di trasformare lo script in un vero strumento CLI open source. Serviva un nome. La talpa è un piccolo animale scavatore con zampe anteriori robuste, bravissima a scavare gallerie e a trovare cose sottoterra, esattamente ciò che faceva lo script: scavare a fondo negli angoli di macOS dove si accumula la spazzatura. Così è nato Mole. Il banner di quella prima versione diceva "can dig deep to clean your Mac", e lo dice ancora.
Cosa ha fatto la community
Mi aspettavo un piccolo tool con qualche centinaio di utenti. A sei mesi, il repo aveva superato i 50.000 star su GitHub. Più importante delle star: gli utenti avevano aperto circa 500 issue con percorsi di pulizia che non avevo mai visto, inviato circa 300 PR di funzionalità, e circa 100 sviluppatori in tutto il mondo erano diventati contributor. Ogni macchina da sviluppo nasconde output monouso in posti diversi, e la community ne ha mappati molti più di quanti avrei potuto da solo.
Quella ampiezza ha insegnato la lezione più dura: ogni nuovo target di pulizia è anche un nuovo posto in cui fare un errore distruttivo. Un catalogo di path non bastava. Servivano guardie sui path condivise, posizioni protette, controlli sui processi attivi, timeout, review e test che fissassero i casi da rifiutare. La scala della community non ha solo ampliato la copertura; ha costretto il modello di sicurezza a diventare più generale dello script originale.
Il momento in cui ho capito la scala è stata una fattura. Avevo messo due screenshot nel README e li servivo tramite una CDN su Vercel. In una settimana avevano consumato 60 terabyte di banda, e dovevo a Vercel ottanta dollari per due immagini.
Perché un'app Mac
Fin dall'inizio gli utenti ripetevano la stessa richiesta: i miei genitori la vogliono, mia sorella la vuole, ma non apriranno mai un terminale. Ho rimandato l'idea per mesi perché la CLI non mi sembrava ancora matura per reggere una versione desktop. Nella primavera 2026 lo era, così ho costruito l'app Mac in un paio di weekend e l'ho lanciata la sera dell'11 maggio 2026: Mole for Mac, due Mac, aggiornamenti a vita, a nove dollari early-bird come ringraziamento agli utenti che avevano testato Mole fin dall'inizio.
L'app non poteva essere solo un pulsante che lanciava lo script. Uno strumento grafico deve tenere separate scoperta ed eliminazione, sopravvivere alle cancellazioni, spiegare i permessi, tenere stabile la finestra mentre le scansioni finiscono, e mostrare un piano recuperabile a chi non ha mai letto un comando shell. La CLI ha insegnato all'app cosa cercare; l'app ha costretto il lavoro a diventare visibile e interrompibile.
I pianeti
L'app avrebbe potuto essere una utility nella barra dei menu con un pulsante di pulizia, e avrebbe venduto lo stesso. Ma c'è già troppa spazzatura software generata dall'AI nel mondo. Se dovevo spendere i token, volevo che diventassero qualcosa di comodo da tenere davanti, non un'altra cosa che inquina la timeline.
Da bambino amavo guardare i pianeti, e dieci anni fa, appena imparato il frontend, la prima cosa che volevo imparare con urgenza era WebGL, per disegnarli. Costruire questa app ha finalmente unito le due cose: ciascuna delle cinque funzioni ha ricevuto un pianeta il cui carattere rispecchia il lavoro che svolge.
- Clean è la Terra: la pioggia di montagna lava via la polvere vecchia.
- Software è Marte: le sabbie rosse seppelliscono le tracce antiche.
- Optimize è Mercurio: il più vicino al sole, il più rapido in volo.
- Analyze è Giove: l'occhio più ampio di tutti.
- Status è il Sole: la luce che non dorme mai.
Le texture arrivano da immagini astronomiche, con la Terra basata sulla Blue Marble della NASA. Le ho cambiate più di dieci volte prima che ogni pianeta sembrasse giusto. Direzione di rotazione e ritmo relativo seguono i corpi reali, e così fa il piccolo effetto di volo quando un'operazione termina. In senso stretto niente di tutto questo ha molto a che fare con una talpa. È più la sensazione di una piccola creatura scavatrice che alza lo sguardo dal suo tunnel verso un cielo molto grande, e resta in silenzio a riguardo.
La notte del lancio
Ho pubblicato intorno alle dieci di sera. Gli amici l'hanno retwittato, e poi il telefono ha iniziato a vibrare con una notifica di acquisto circa ogni dieci secondi, dalla Francia, dalla Germania, valute che non avevo mai visto in un pagamento. L'iPhone si è scaldato e ha scaricato la batteria solo a visualizzarle. Ho disattivato le notifiche email per dormire un po', e al mattino gli acquisti arrivavano ancora. Parecchie persone, a quanto pare, hanno comprato l'app solo perché la CLI le aveva trattate bene.
L'app Mac ha ancora parecchi vuoti, e sono grato che così tante persone abbiano pagato per un bel giocattolo e siano pazienti mentre li colmo. Mi piace lasciare che le cose maturino al loro ritmo invece di correre dietro ai risultati. Mole ha impiegato anni per passare da uno script privato a una CLI open source a un'app a pagamento, e la parte migliore di tutto l'arco è stata la lunga iterazione e le amicizie con sviluppatori in tutto il mondo. Quella è la vera ricchezza.