AndroidKotlinJetpack ComposeRoom

Meno strumenti, meno cose da ricordare

P©ix (Pcix) nasce dal desiderio di riunire attività, scadenze e impegni quotidiani in un solo posto. Quando le cose da fare sono in un’app, gli appuntamenti in un’altra e le priorità restano nella mia testa, organizzarmi diventa un’attività in più.

Il punto di partenza è stato un obiettivo concreto: poter creare un’attività in meno di tre secondi, organizzarla e ritrovarla al momento giusto. È il criterio con cui ho progettato l’esperienza, non un risultato cronometrato. La definizione che accompagna il progetto è “calma organizzativa”: raccogliere un impegno velocemente e decidere dopo tutti i dettagli.

Prima il progetto, poi il codice

Prima di aprire il cantiere dell’app ho definito un MVP: utenti, schermate, navigazione, modello dei dati, notifiche e scelte grafiche. Scrivere la specifica mi ha aiutata a trasformare un’idea generica in comportamenti precisi: cosa succede quando creo un’attività, dove viene salvata, come la ritrovo e come mi viene ricordata.

Ho scelto Android nativo, con Kotlin e Jetpack Compose, per lavorare direttamente con notifiche, widget, file e funzioni in background. Web e desktop appartengono a una fase successiva, dopo il consolidamento dei dati e della sincronizzazione.

Dall’idea alla lista di cose da fare

Il Quick Add è il punto d’ingresso: apro l’inserimento rapido, trovo il campo del titolo e la tastiera, scrivo e salvo. Il titolo è l’unico dato obbligatorio. Se parto da una lista o da un giorno del calendario, quel contesto può già compilare parte delle informazioni.

Da lì l’attività può crescere: note, scadenza, priorità, tag, sottotask, durata e immagini allegate. Le liste separano gli ambiti della giornata, mentre i tag collegano attività che appartengono a contesti diversi. La Inbox raccoglie quelle ancora da organizzare; se elimino una lista, le sue attività tornano lì.

  • Home e ricerca: viste per oggi, domani, prossimi sette giorni e attività scadute, oltre alla ricerca tra titoli, note, liste e tag.
  • Calendario: una vista mensile e una vista settimanale con agenda oraria del giorno selezionato, per leggere insieme scadenze e durata.
  • Ricorrenze e promemoria: attività che si ripetono e notifiche da cui completare o posticipare un impegno.
  • Matrice di Eisenhower: quattro quadranti per ragionare su urgenza e importanza, con classificazione automatica e possibilità di intervenire manualmente.

Con le iterazioni sono arrivati anche backup, ripristino, condivisione e personalizzazioni di temi, caratteri e colori. L’MVP è diventato più ampio del previsto: ogni aggiunta offre nuove possibilità, ma aumenta anche i comportamenti da verificare.

Un’idea da provare

Dove metteresti questa attività?

“Rivedere gli appunti”. Cambia urgenza e importanza e osserva il quadrante. È un esempio interattivo del principio della matrice, non l’interfaccia di P©ix.

01 · Fare

Urgente e importante

02 · Pianificare

Importante, non urgente

03 · Delegare

Urgente, non importante

04 · Rivalutare

Non urgente, non importante

I dati prima di tutto

Sotto l’interfaccia, il database locale Room conserva attività, liste, tag e relazioni. La struttura separa le schermate Compose, i ViewModel e il Repository che accede ai dati. Coroutines e Flow gestiscono il lavoro asincrono e gli aggiornamenti delle viste.

Questa base permette di creare e modificare attività anche senza connessione. Quando il modello cambia, le migrazioni del database devono mantenere i dati già presenti: aggiungere un campo non deve significare perdere ciò che ho organizzato fino a quel momento.

Le difficoltà più interessanti si nascondono spesso nei dettagli: una ricorrenza il 31 del mese, un’attività che attraversa la mezzanotte, il cambio dell’ora o una modifica a una sola occorrenza. Sono casi poco visibili nell’interfaccia, ma decisivi per fidarsi dell’app.

Un quaderno di progetto, pannelli di codice e schede di verifica attorno a uno smartphone.
Specificare, costruire, provare, correggere. Illustrazione concettuale generata con IA, non uno screenshot dell’app.

Sviluppare insieme all’IA

In P©ix uso ChatGPT e Codex come supporto operativo: dalla specifica alla pianificazione, dalla generazione del codice alle patch e al debugging. Il processo procede per cicli: definisco un comportamento, integro le modifiche, provo il risultato e torno sui problemi emersi.

La direzione del prodotto resta nelle mie scelte: funzionalità, priorità, estetica e criteri con cui valuto il risultato. Ho imparato a dividere le richieste più grandi in interventi controllabili e a mantenere aggiornato il contesto del progetto, soprattutto quando il lavoro passa tra sessioni diverse.

Per cloud e Google Calendar, una richiesta estesa è diventata una sequenza di dieci prompt. Dopo l’applicazione dei primi otto, ho previsto un audit prima delle ultime due fasi. Le patch applicate sono un avanzamento concreto; capire se tutte le parti funzionano insieme richiede una verifica ulteriore.

Il widget bello da vedere e difficile da usare

I widget rispondono alla stessa esigenza del Quick Add: raggiungere le attività senza aprire ogni volta tutta l’app. Ho lavorato prima a un elenco compatto e poi a un calendario settimanale, cercando di mantenere lo stile di P©ix.

Il primo problema è stato lo spazio: le schede occupavano troppo e mostravano poche attività. Nel widget settimanale, invece, selezionare un giorno poteva produrre ritardi e aggiornamenti incoerenti. Un’interazione pensata per essere immediata arrivava a richiedere diversi secondi.

Le correzioni successive non hanno ancora una conferma definitiva di risoluzione nel report. È una delle lezioni più concrete del progetto: un’interfaccia convincente e una compilazione riuscita non bastano a dimostrare che un’app sia affidabile nell’uso quotidiano.

Il prossimo passaggio: più dispositivi

La direzione successiva è ritrovare le attività su più dispositivi. Ho individuato Supabase per account e backend relazionale, mantenendo Room come riferimento immediato per l’app Android. L’idea è salvare subito in locale e registrare le modifiche da inviare quando la rete lo permette.

Questo introduce nuove domande: cosa succede se due dispositivi modificano la stessa attività? Come si propagano le eliminazioni? Come si recupera dopo una disconnessione? Il funzionamento offline locale è già parte del progetto; la sincronizzazione completa resta da verificare.

Per Google Calendar, la prima integrazione progettata mostra gli eventi in sola lettura, mantenendoli distinti dalle attività da completare. Collegare un calendario è una scelta separata dal login all’app. Importazione, autorizzazioni e aggiornamenti devono ancora essere confermati nel loro funzionamento complessivo.

Il percorso, una fase alla volta

Apri le tappe per esplorare l’evoluzione del progetto.

01 · Dall’idea alla specificaProgettazione documentata

Creazione rapida delle attività, schermate, navigazione e modello dei dati: la specifica MVP definisce i comportamenti prima del codice.

02 · Un’app che lavora in localeImplementato · Iterazioni 1–7

Room, liste, tag, calendario e ricorrenze costituiscono la base. Le iterazioni successive aggiungono durata, backup e personalizzazione. Restano verifiche su dispositivi e accessibilità.

03 · Le attività sulla Home AndroidWidget · Da consolidare

Elenco attività e calendario settimanale portano il progetto fuori dall’app. La reattività nella selezione dei giorni richiede ancora una conferma dopo le correzioni.

04 · Collegare dati e calendariCloud e Google · Verifica in corso

Le patch avviano il lavoro su Supabase e Google Calendar. Il funzionamento completo della sincronizzazione e dell’importazione degli eventi deve ancora essere documentato.

05 · Oltre AndroidDirezione futura

Web e desktop sono passi successivi, da affrontare dopo aver consolidato sincronizzazione, integrità dei dati e affidabilità.

Cosa sto imparando

P©ix mi sta portando oltre la costruzione delle schermate: persistenza, migrazioni, stato, ricorrenze e integrazione tra componenti sono diventati parte centrale del lavoro. L’IA accelera la realizzazione, mentre test e revisioni aiutano a capire quanto il risultato sia solido.

I prossimi passi sono consolidare i widget, verificare cloud e calendario, estendere le prove sui dispositivi reali e completare i controlli su accessibilità e promemoria. Voglio che il progetto cresca mantenendo l’idea da cui è partito: rendere più semplice organizzare la giornata.

Progetti personali