Descrizione
iDeary è uno spazio per catturare, connettere e visualizzare idee come una mappa mentale interattiva ispirata ai grafi. È nato da una frustrazione reale: quante volte ho avuto un’idea e l’ho persa perché non l’ho scritta nel momento, o quante volte un’idea è cresciuta quando l’ho collegata a un’altra. iDeary risolve questo con cattura rapida (testo, foto, audio, disegno) e una visualizzazione dove ogni idea è un nodo e ogni connessione racconta una storia.
Progetto individuale sviluppato per l’Apple Swift Student Challenge 2026.
Problema
Le app di note esistenti sono lineari. Non permettono di vedere le relazioni tra le idee in modo visuale e intuitivo. Quando hai molte idee sparse, perdi la prospettiva di come si connettono tra loro.
Il mio ruolo
100% individuale. Dall’ideazione e design fino all’implementazione e invio. Circa 5.800 righe di codice in 6 settimane di sviluppo.
Decisioni tecniche
- Canvas infinito in SwiftUI puro: senza SpriteKit o librerie esterne. Gesti di drag e pinch implementati a mano con limiti di scala.
- Struttura dati di grafo personalizzata: due array di struct (nodi e connessioni). Senza dipendenze esterne.
- Persistenza in JSON: serializzazione diretta nella directory dell’app. Semplice, portabile e facile da debuggare. Senza Core Data o SwiftData.
- Framework nativi Apple: AVFoundation per l’audio, PencilKit per i disegni, PhotosUI per foto e video.
- Modalità connessione: l’utente attiva la modalità, tocca un nodo sorgente e poi un nodo destinazione per creare la connessione visuale con gradiente. Gestire quello stato reattivo tra le viste è stata la sfida tecnica più complessa.
Apprendimenti chiave
- Sapere quando eliminare un’idea è tanto prezioso quanto averne una buona. Ho scartato un primo prototipo perché era troppo simile a un altro progetto che avevo già costruito.
- Costruire qualcosa che io stesso volevo usare è stato ciò che mi ha tenuto motivato durante le notti insonni.
- Il feedback di persone che non conoscono la tua app è il più prezioso — e il più difficile da ottenere.
- Progettare l’accessibilità dal primo giorno, non come un checkbox alla fine.