Recentemente, ho scritto parecchio sui miei pensieri riguardo allo sviluppo indipendente. Volevo riassumerli parlando del percorso di Mole, da CLI open-source a software Mac a pagamento—cosa pensavo all'epoca, cosa ha funzionato davvero, e magari fornire qualche spunto per amici che lavorano ai propri progetti.
Il sito ufficiale di Mole è
mole.fit , e la CLI è open-source su
GitHub . Puoi provarlo prima.
Lo scorso anno, durante le vacanze del Giorno Nazionale, ho scritto qualche centinaio di righe di codice a bordo piscina a Sanya e ho creato uno strumento da riga di comando per la pulizia del Mac chiamato Mole CLI, che ho reso open-source su GitHub. Inizialmente era pensato solo per me e i miei colleghi. In meno di un anno, ha raccolto 60.000 stelle, rilasciato oltre 50 versioni, e 121 sviluppatori da tutto il mondo hanno inviato codice, risolvendo quasi 800 richieste di funzionalità e bug.
In realtà, non mi ero reso conto di quante persone lo usassero finché, una volta, poiché avevo due immagini nel README accelerate da Vercel, il traffico ha superato il limite di fatturazione e ho dovuto a Vercel 80 dollari. È stato allora che ho capito che era ora di creare una versione desktop.
In precedenza, il tipo di email più comune che ricevevo era da utenti internazionali, con il messaggio generale: "I miei genitori usano Mac, anche mia sorella lo usa, ma non sanno come aprire il terminale. Puoi fare una versione che non richieda di digitare comandi?" Ho rimandato per un po', principalmente perché sentivo che la CLI stessa non era ancora abbastanza matura. Poi, ho passato due fine settimana a creare la versione desktop per Mac. L'ho rilasciata alle 22:00 quella sera, e le notifiche hanno continuato a suonare tutta la notte—francesi, tedesche, di tutti i tipi di valute. Alla fine ho disattivato le notifiche email solo per riuscire a dormire un po'. Ripensandoci, quella versione iniziale era in realtà piuttosto scarna; quanto può essere completo qualcosa costruito in due fine settimane? Molte funzionalità sono state aggiunte poco a poco nei mesi successivi. In pratica, è stato un gruppo di utenti che ha pagato prima e poi mi ha accompagnato a finirlo. La CLI rimane invariata, ancora open-source e gratuita, e continuerà ad essere aggiornata; solo la versione desktop è a pagamento.

Tre Tipi di Spazzatura Creati dall'IA
Dopo aver costruito la versione desktop, la funzionalità che ho usato di più personalmente è stata la pulizia, perché il mio Mac era davvero portato al limite dall'IA. Tengo Claude Code e Cursor aperti tutto il giorno per scrivere cose. All'inizio non ci facevo molto caso, ma poi ho scoperto che la spazzatura lasciata dall'IA è molto diversa da quella del software tradizionale, rientrando grosso modo in tre categorie.
La prima categoria sono gli artefatti di compilazione. Non è una novità, ma l'IA ha amplificato la scala. Prima, potevo scrivere a mano qualche centinaio di righe di codice e compilare tre o cinque volte al giorno; ora, lascio che un agente esegua una dozzina di cicli in un pomeriggio, compilando una volta per ogni ciclo. Le cartelle target dei progetti Rust, le cartelle .next e dist del frontend e DerivedData di Xcode crescono molto rapidamente. Una volta ho cancellato 86 GB solo di queste cose. La seconda categoria sono le vecchie versioni lasciate dagli stessi strumenti IA. Strumenti da riga di comando come Claude Code, Cursor Agent e GitHub Copilot si aggiornano automaticamente. Si aggiornano scaricando l'intera nuova versione in una nuova directory—ogni versione è circa 250 MB—e quelle vecchie non vengono cancellate. In pochi mesi, si possono accumulare una dozzina di versioni inutili. La terza categoria sono i file dei modelli—modelli scaricati da Ollama e LM Studio, e le cache di HuggingFace, che spesso occupano decine di gigabyte.

Mole pulisce le prime due categorie ma non tocca un solo byte della terza. Successivamente, ho gradualmente pensato a questo in tre livelli, categorizzando tutto ciò che viene scansionato prima di decidere se dovrebbe essere selezionato per impostazione predefinita. Il primo livello è rinnovabile: cache HTTP, cache GPU, artefatti di compilazione e la maggior parte dei log. Se l'app pertinente è stata chiusa e il percorso è chiaro, può essere pulito. Il secondo livello ha un costo di ricostruzione elevato: cache del registro dei gestori di pacchetti, pesi dei modelli locali e iOS DeviceSupport possono essere tutti ricostruiti, ma costa larghezza di banda e tempo, quindi l'utente dovrebbe dare un'occhiata da solo. Il terzo livello è insostituibile: cronologia chat, database email, librerie fotografiche e lo stato dei progetti correnti. Credo che queste cose non dovrebbero mai essere inserite in un elenco di pulizia con un clic.
Comprimere questi tre livelli in un unico elenco "sicuro da eliminare" sarebbe più facile, ma il costo è prendere la decisione per l'utente. Le dieci categorie nella pagina di pulizia sono disposte in questo ordine: le cache rinnovabili sono in cima, e più si scende, più è necessario verificare da soli.

Cose come target, build, dist, __pycache__ e DerivedData possono essere recuperate ricompilando, al costo di qualche minuto di CPU. node_modules, Pods, venv e vendor sembrano anche directory di dipendenze, ma eliminarle richiede di riscaricarle da Internet. Se sei su un treno ad alta velocità o su un aereo e vuoi eseguire un progetto, rimarresti bloccato ad aspettare. Queste due categorie sembrano simili e vengono facilmente cancellate come spazzatura insieme. Mole CLI faceva così all'inizio, ma in seguito ho rimosso specificamente tutte le directory di tipo download dall'elenco di pulizia della versione Mac.
I modelli sono la categoria più pesante qui. Riscaricare decine di gigabyte è un disastro, e uno strumento di pulizia generico non li eliminerà nemmeno correttamente. Ollama suddivide i modelli in un mucchio di blocchi nominati con hash; più modelli potrebbero condividere lo stesso blocco. ollama rm calcola se qualcun altro sta ancora referenziando un blocco prima di osare rilasciarlo. Se elimini manualmente un blocco dall'aspetto grande dal filesystem, potresti rompere un altro modello. Solo lo strumento stesso comprende questi riferimenti.
Pertanto, percorsi come ~/.ollama/models e ~/.cache/huggingface sono hardcodati in un elenco di protezione nel codice. Non appariranno nemmeno durante la fase di scansione; mostreranno solo la loro dimensione occupata nella sezione di analisi del disco, lasciando che i modelli stessi siano gestiti da Ollama o LM Studio.

C'è un'altra categoria di cose ancora più intoccabili dei modelli: i record delle sessioni IA. ~/.codex/sessions, ~/.claude/projects e ~/.grok/sessions memorizzano i tuoi dialoghi completi con l'IA per mesi o addirittura un anno. Contengono i tuoi pensieri del momento, le soluzioni scartate e le ragioni di ogni modifica. Se cancellati, sono persi per sempre e, in un certo senso, sono più preziosi del codice stesso. Quindi questi percorsi non verranno mai puliti in Mole, non importa da quanto tempo siano lì. Sono protetti anche ricordi, piani, competenze e immagini generate.

Questi elenchi di protezione non sono stati tutti pensati all'inizio; sono stati per lo più appresi attraverso tentativi ed errori. L'errore più stupido è stato com.apple.e5rt.e5bundlecache. Ha "Caches" nel nome e si trova nella directory della cache, quindi sembra una cache, ma in realtà è un modello compilato dal Neural Engine di Apple. La CLI all'inizio lo trattava come una cache e lo cancellava, causando il crash di tutte le app che utilizzavano funzionalità di riconoscimento fino al riavvio. Da allora, ho sviluppato un'abitudine: quando vedo una directory con "cache" nel nome, mi pongo tre domande: Chi l'ha scritta? Chi la leggerà dopo un riavvio? Come la recupero se la cancello per sbaglio? Se non riesco a rispondere a una, non la tocco.
Guarda Prima di Cancellare
Non giudico la qualità di questo tipo di strumento da quanto riesce a cancellare, ma piuttosto dal fatto che ti permetta di vedere chiaramente prima di cancellare.
Quando Mole pulisce, prima scansiona, elenca gli elementi uno per uno e mostra esattamente cosa è ogni elemento, dove si trova e quanto spazio occupa. Gli elementi di cui non sono sicuro sono deselezionati per impostazione predefinita. Confermi prima di cancellare e, quando cancelli, gli elementi vanno prima nel Cestino in modo che possano essere recuperati se ti penti. La scansione e la pulizia vengono eseguite interamente in locale; file e risultati non vengono mai caricati. Il costo è che è più lento e richiede un passaggio di conferma extra, che potrebbe sembrare noioso quando hai fretta, ma preferisco perdere una cancellazione piuttosto che cancellare qualcosa per sbaglio.

La disinstallazione segue la stessa logica. Quando selezioni un'app, Mole trova tutto ciò che è sparso nel sistema, etichettando ogni elemento con il suo percorso e la sua dimensione. Nell'immagine sopra, l'app Claude stessa è solo 781 MB, ma ~/Library/Application Support/claude è 7,67 GB. Non è mai il pacchetto dell'applicazione stesso che occupa veramente spazio. Gli elementi di login e i servizi in background sono anche sulla stessa pagina, così non devi cercarli nelle Impostazioni di Sistema.
Ad esempio, gli installer degli aggiornamenti di sistema macOS—la directory /macOS Install Data—sono spesso oltre 10 GB e sembrano obiettivi di pulizia perfetti. Ma il sistema potrebbe averne ancora bisogno per completare l'aggiornamento; cancellarli troppo presto potrebbe impedire l'avvio della macchina. Quindi in Mole, è un elemento di revisione deselezionato con tre livelli di protezione: se c'è un aggiornamento in attesa di essere installato, l'intera riga è nascosta; se l'installer è stato toccato negli ultimi 14 giorni, è nascosto; se i processi relativi all'installazione sono ancora in esecuzione, è nascosto. Se un qualsiasi segnale non può essere letto, viene trattato come un rischio e non viene visualizzato affatto.
Al momento dell'esecuzione, lo script con privilegi di root esegue di nuovo questi controlli. Se falliscono, esce con un codice non zero. Non vedrai una situazione in cui "il rapporto dice che sono stati cancellati 12 GB ma non è stato spostato un solo byte."
Ho un modo molto semplice per giudicare se uno strumento di pulizia è buono. Installa due prodotti dello stesso fornitore, disinstalla solo uno e vedi se include la directory principale di Application Support condivisa o il contenitore di gruppo. Se lo fa, significa che sta abbinando per nome, non per proprietà. Non oso lasciare che uno strumento che non riesce nemmeno a chiarire la proprietà cancelli cose in blocco.

Non Ti Disturberà Normalmente
Cancellare 86 GB in una volta non si ottiene cancellando qualche log; quando disinstalli Claude, puoi trovare cose dieci volte più grandi dell'app stessa sparse nel sistema. Troverà ciò che deve trovare, ma non ti disturberà attivamente.
Una volta installato, non farà apparire notifiche ogni pochi giorni per ricordarti di pulire, né salterà fuori dopo una scansione per dire quanto è pericoloso il tuo computer. Aprilo quando vuoi pulire; quando non lo fai, è come se non esistesse.
L'interfaccia segue la stessa filosofia. Se la scansione non è finita, non entra nella pagina dei risultati. Per le cose che saranno pronte tra un momento, non dà nemmeno un prompt di caricamento; solo dopo un po' appare un'animazione "occupato". Anche la pagina di completamento ha spazio riservato in anticipo in modo che la finestra non salti quando appaiono i risultati. Queste regole sono tutte molto banali, ma insieme sono il motivo per cui sembra stabile da usare.
I compiti sottostanti sono intrinsecamente imprevedibili, quindi aggiungere animazioni non aiuta; il processo stesso deve essere affidabile. Non voglio uno strumento di manutenzione che richieda monitoraggio costante. Avvia il compito, aspetta che finisca e poi riprendi il controllo dello schermo—è sufficiente. Non ha bisogno di tenere le luci lampeggianti per ricordarti di guardarlo.
L'accessibilità fa anche parte di questo. L'ordine di lettura, le operazioni da tastiera e la stabilità del focus fanno tutti parte della stessa esperienza "tranquilla". Quando l'impostazione di sistema "Riduci movimento" è attivata, i pianeti smettono la loro rotazione decorativa e i cambiamenti di stato riducono il movimento spaziale. Nessuna operazione dipende dalla comprensione di un'animazione da parte dell'utente.

Renderlo Usabile Anche per un Settantenne
In precedenza, quando creavo cose, consideravo fondamentalmente solo se fossero facili da usare per i miei colleghi e amici. Passando dalla CLI alla versione desktop, ho capito che renderlo usabile per un nonno di 70 anni implica molto di più, ed è molto più interessante. Quanto segue è tutto tratto dalle email degli utenti degli ultimi tre mesi; i miei più grandi guadagni sono quasi tutti qui.
Un utente britannico di quasi 70 anni ha detto di aver avuto un "momento da anziano" e di aver comprato Mole di nuovo. "Considera il secondo pagamento come un regalo per te; grazie per questo eccellente strumento, mi ha risparmiato molte più sterline di CleanMyMac." Gli ho suggerito di chiedere un rimborso o di regalare la licenza extra. Si è informato e ha risposto il giorno dopo: "Nessuno dei miei vicini usa Mac, né i miei follower su Bluesky. Questo giro lo pago io." Ricevere lettere del genere mi fa sentire che devo rendere il prodotto ancora migliore per essere all'altezza di quella fiducia.
Un utente americano ha corretto un'idea sbagliata che avevo sulle abitudini regionali. Pensavo sempre che gli americani dovessero usare i Fahrenheit per la temperatura, quindi ho impostato i Fahrenheit come predefiniti per la regione USA. Ha detto: "Gli americani usano i Celsius in tutti i contesti tecnici; solo il meteo e la temperatura corporea sono eccezioni. Sono rimasto sorpreso di vedere 110 quando ho installato Mole. Le specifiche che Apple mostra agli americani sono anche in Celsius, e fastfetch/neofetch usano i Celsius come predefiniti sui sistemi USA. Suggerisco di mantenere l'interruttore per i Fahrenheit ma di impostare i Celsius come predefiniti per tutte le regioni." In seguito l'ho cambiato in Celsius per impostazione predefinita con un interruttore per i Fahrenheit. Ha anche inviato un follow-up sui prezzi, dicendo che il numero che avevo dato non sembrava un prezzo impostato deliberatamente ma piuttosto una conversione da un'altra valuta. Ha aggiunto: "Con 'straniero', non intendo anti-cinese, ma che le persone vogliono sentire che l'autore le capisce." Ad essere onesto, ho scelto quel prezzo a caso; non avevo mai pensato seriamente ai prezzi prima di creare il prodotto. Essere chiamato in causa da uno sconosciuto è stato piuttosto imbarazzante—a quanto pare anche una cifra di prezzo influisce sulle decisioni degli utenti.
Un utente con lieve deficit visivo ha detto: "Sembra un'app molto carina, ma sfortunatamente non posso usarla; sembra avere la modalità scura hardcodata. Il mio sistema è impostato sulla modalità chiara e uso solo app con modalità chiara." Rendere Mole solo scura è stata una decisione deliberata; il pannello della barra dei menu fluttua sullo sfondo come un HUD, e il vetro scuro ha meno bagliori, eliminando la necessità di un cambio di tema. Ma questa ragione non era valida per lui. Ho sempre pensato di essere serio riguardo all'accessibilità, ma ho completamente fallito nel rendermi conto che la modalità chiara è di per sé un requisito di accessibilità. È passato un po' di tempo da quando ho ricevuto quell'email, e Mole è ancora solo scura; la modalità chiara è ancora nell'elenco, non finita. Mi sento un po' in colpa che un prodotto che afferma di preoccuparsi dell'accessibilità abbia lasciato un utente che ha detto esplicitamente di non poterlo usare ad aspettare così a lungo.
Un docente di un'università tedesca ha fatto domanda per una licenza educativa, dicendo che era "non solo un supporto per me personalmente ma anche un supporto significativo a livello educativo." A quanto pare ci sono insegnanti internazionali che usano il mio prodotto in un ambiente scolastico, un caso d'uso che non avevo previsto. Un medico ungherese ha dato la recensione negativa più onesta: "Ad essere onesti, il prezzo è un po' alto per qualcosa che anche un'app gratuita può fare." Non l'ho trovato affatto duro; il potere d'acquisto varia molto tra i paesi. Non si stava lamentando; mi stava aiutando a individuare un problema.
Le mie funzionalità preferite in Mole non sono state in realtà idee mie. La notifica quando le AirPods hanno la batteria scarica è stata aggiunta mentre lavoravo alla salute della batteria; non avevo incontrato quello scenario finché un pomeriggio non l'ho effettivamente ricevuta—era molto premurosa e non invadente. Ho aggiunto tre diversi comportamenti per mantenere lo schermo acceso dopo un promemoria dell'utente; quando improvvisamente esco nei fine settimana, la codifica IA può continuare a funzionare, risparmiandomi molto tempo asincrono. Poter vedere il livello della batteria dell'iPhone nello stato era difficile da implementare all'inizio, ma alla fine ho trovato un modo. Queste erano tutte cose che gli utenti mi hanno detto di aggiungere, e alla fine ne ho tratto il massimo beneficio.
In Realtà ho Risposto alle Email Manualmente
Domande e risposte, rimborsi e reimpostazione dei codici di attivazione rappresentano meno dell'1% della base utenti. Potrei scrivere uno script in mezz'ora per automatizzare tutto, ma non l'ho fatto. Solo elaborandole una per una posso sentire cosa vogliono veramente gli utenti, perché chiedono un rimborso e cosa li mette a disagio—e spesso non è la prima cosa che chiedono. La mia soglia per l'automazione è quando tre cose sono vere: il problema si ripresenta, la risposta è stabile e le eccezioni sono tutte comprese. Fino ad allora, preferisco rispondere una per una. Questo è ancora efficace; non ho speso soldi in marketing e la crescita deriva principalmente dal passaparola. Il tasso di rimborso è inferiore allo 0,8%. Molti acquirenti sono utenti di lunga data della CLI.
Prima del rilascio, non ho impostato un sistema di ticket, una piattaforma di assistenza clienti o una knowledge base. Agli ingegneri piace costruire prima questi sistemi di supporto perché è un lavoro familiare, e l'IA lo ha compresso a mezza giornata, rendendo più facile iniziare troppo presto. Ma mentre ci vuole solo mezza giornata per costruirlo, la manutenzione è un impegno a lungo termine e semplicemente non è ancora necessaria. Il giorno in cui la casella di posta inizia a perdere richieste, i tempi di risposta diventano poco chiari o la stessa domanda ottiene risposte diverse—è allora che un nuovo sistema è veramente necessario. L'IA rende possibili molte parti di questo prodotto, ma la comunicazione con le persone non può essere sostituita dall'IA; altrimenti, non sarebbe interessante. Può migliorare l'efficienza, ma è difficile migliorare i sentimenti reciproci e la fiducia. Questo potrebbe anche essere un modo per i prodotti nati dalla codifica IA di mantenere un tocco umano.
Cose che ho Trovato Utili da Fare
Nel costruire un prodotto, sento che la capacità di codifica conta solo per circa il 30%. Più sforzo va nel collegare i propri punti dolenti con quelli della maggior parte degli utenti, creando qualcosa che sia facile da usare senza un manuale e spingendolo davanti alle persone giuste in modo che sentano di aver risolto un grosso problema. Un ingegnere di prodotto è grosso modo una combinazione di ricercatore, product manager, ingegnere, operatore, analista di dati e stratega aziendale.
Ciò che non fai è molto più importante di ciò che fai. Per uno strumento che cancella i tuoi file, questo diventa ciò che non cancelli. Quegli elenchi di protezione hardcodati derivano tutti da questa regola. Sono stato fortunato a leggere molti libri sulla formazione ingegneristica quando ho iniziato come matricola; frasi come "le entità non devono essere moltiplicate senza necessità" e "la semplicità è la raffinatezza suprema" sono lentamente penetrate nella mia vita, nel mio lavoro e nel mio codice. Lo sento ancora più profondamente dopo aver creato prodotti. La differenza tra un buon prodotto e uno mediocre risiede in gran parte nella capacità di decidere cosa non fare. Alcune funzionalità sono buone di per sé, ma se non sono sul percorso principale, non le includo; altrimenti, diventa facilmente un cumulo di funzionalità difficili da mantenere.
Un'altra sensazione è che devi avere una roadmap per i prossimi sei mesi in testa, sapendo chiaramente cosa aggiungere in ogni versione, quali sono falsi bisogni e quali funzionalità dovrebbero essere posizionate dove sono a portata di mano per gli utenti. Per gli utenti comuni, quello che puoi usare senza leggere un manuale è quello buono. Il posizionamento di Mole è quello di un guardiano silenzioso della manutenzione del sistema Mac. Molti amici hanno suggerito ottime funzionalità che ho gentilmente rifiutato. Il mio obiettivo è semplice: se un utente Mac su cento è disposto a tenere Mole, è già abbastanza utile.
Ora, prima che una funzionalità entri nella roadmap, deve superare tre porte: non ci possono essere timer permanenti, listener o overhead di campionamento se l'utente non ha fatto clic sulla funzionalità; non puoi espandere gli helper privilegiati o aggiungere nuove autorizzazioni di sistema per una piccola comodità; e non puoi aggiungere impostazioni quando ci sono valori predefiniti ragionevoli. Questi non sono principi universali per tutto il software, ma regole che Mole si è imposto. Ogni attività permanente, privilegio e configurazione aggiuntivi richiedono che l'utente si fidi un po' di più di te.

Fondamentalmente non accumulo per "grandi mosse"; cerco di rilasciare una versione ogni settimana in modo che i problemi degli utenti possano essere risolti tempestivamente e io possa avere un dialogo bidirezionale. Ogni rilascio, aggiornamento e promozione è una grande opportunità di comunicazione e fa sapere a chi non ha visto le novità cosa stai facendo.
Nell'era dell'IA, le barriere del codice stanno diventando più piccole. Ciò che deve essere maggiormente controllato è come spendere i Token esattamente per risolvere i problemi degli utenti. Non mi dispiace spendere di più, ma deve essere speso in modo efficace—ad esempio, discutere a fondo i requisiti, scavare nei dati per trovare il problema reale e scrivere testi che le persone capiscano a colpo d'occhio. Queste aree valgono la spesa. Vedo i Token come un investimento e gli investimenti devono dare frutti.
Mole è stato globale dal primo giorno e pubblico più contenuti in inglese che in cinese. La mia sensazione durante questo periodo è che il mondo è enorme, la base di utenti è ampia e sono disposti a fidarsi di te fin dall'inizio. Le persone che aiuti per caso spesso diventano tue utenti in seguito perché c'è stata un'interazione reale. Non ho speso soldi in promozione; i picchi su X sono alti ma di breve durata, mentre le cose pubblicate su YouTube decadono molto lentamente. Finché il contenuto è buono e qualcuno lo consiglia, può vivere lì per molto tempo.
Ho passato più tempo sui dati di quanto immaginassi. Osservare le vendite per dimensione e tempo, combinate con i dati del traffico, i commenti degli utenti, tutti i record delle interazioni con gli utenti, le ragioni dei rimborsi e tutti i problemi sul lato open-source—queste sono tutte risorse preziose. Mi aiutano a scoprire molti problemi che non conoscevo e a vedere esattamente dove si rompe il funnel di vendita.
L'ultimo punto riguarda più il mio approccio personale. Costruire un account con un utilitarismo profondo rende ansiosi; preferisco costruirlo come un marchio, con me stesso come il marchio stesso. I miei pensieri, le mie idee, gli aggiornamenti dei prodotti, le intuizioni, le interazioni e i commenti stanno tutti aggiungendo fiducia a questo marchio. La fiducia è particolarmente importante nell'odierno mondo dell'IA falso ma prospero. Le cose che sembrano fantastiche ma una volta cliccate risultano nella media hanno già abbassato le aspettative di molti utenti. Anche se hai un prodotto veramente buono, non otterrai attenzione senza fiducia. Questo può essere fatto per molto, molto tempo; finché sei su Internet, questo marchio vivrà—è il prodotto con il ciclo di vita più lungo della tua vita.
Perché Cinque Pianeti
Il desktop di Mole ha attualmente cinque moduli: Pulizia, Disinstallazione, Ottimizzazione, Analisi del Disco e Stato Hardware. Ogni modulo corrisponde a un pianeta nell'interfaccia: Pulizia è la Terra, Disinstallazione è Marte, Ottimizzazione è Mercurio, Analisi è Giove e Stato è il Sole. Questo è legato al mio amore infantile per l'osservazione delle orbite planetarie, oltre al fatto che la prima cosa che volevo veramente imparare dopo aver imparato il frontend dieci anni fa era WebGL. Le texture dei pianeti sono state cambiate non meno di 10 volte; ne ho scaricate molte dal sito ufficiale della NASA prima di decidermi. La direzione di rotazione, la velocità e gli effetti di volo dopo il completamento seguono tutti i corpi celesti reali.

Questa parte poteva essere omessa; anche un piccolo strumento della barra dei menu che pulisce con un clic avrebbe funzionato. Ma la spazzatura informatica generata dall'IA è già abbastanza. Invece di usare Token per accumulare un'altra interfaccia che funziona a malapena, volevo creare qualcosa di un po' più confortevole—non sprecare i miei Token e non inquinare la tua timeline.
Mi piacciono le cose che accadono naturalmente piuttosto che perseguire risultati con urgenza in breve tempo; questi tre mesi lo hanno rafforzato. Qualche tempo fa, ho pensato a una frase: Il miglior lavoro del mondo è probabilmente per un apprendista continuo in un mercato libero che usa il proprio giudizio, le proprie capacità e la propria estetica per creare continuamente valore per cui gli altri sono disposti a pagare.
La CLI è open-source e gratuita su GitHub, e la versione desktop per Mac è sul sito ufficiale mole.fit.
Poiché questa è la mia prima esperienza nella creazione di un prodotto a pagamento, potrebbero esserci aspetti a cui non ho ancora pensato. Accolgo con piacere suggerimenti e consigli da amici più esperti. Le modifiche menzionate sopra non sono state idee mie; sono state tutte suggerite tramite un'email di un utente o una segnalazione. Quindi, non perdere mai l'opportunità di comunicare con gli utenti; ascolta le loro lamentele e suggerimenti con tutto il cuore: possono aiutarti molto e farti capire meglio i tuoi utenti.





