Nelle ultime settimane ho sviluppato TinyDebt, una piccola app per tenere traccia di debiti, prestiti e rimborsi. Volevo condividere alcune delle scelte tecniche alla base, nel caso fossero utili a chi sviluppa app piccole e mirate.
🧩 Perché l’ho creata
Dimenticavo continuamente i piccoli debiti tra amici e le app esistenti mi sembravano pesanti: registrazioni, pubblicità ovunque, funzioni finanziarie complesse.
Volevo qualcosa che:
- si apra all’istante
- permetta di aggiungere un debito in 3–5 secondi
- funzioni offline
- resti semplice per sempre
Così è nata TinyDebt.
⚙️ Stack tecnologico
TinyDebt è volutamente leggera:
- React Native (Expo) per il mobile
- Approccio local-first con AsyncStorage
- Nessun backend: i dati risiedono sul dispositivo (Firebase solo per i backup)
- TypeScript ovunque
- Interfaccia minimale con componenti personalizzati invece di librerie UI
- Pacchettizzazione per App Store e Google Play tramite EAS Build
Nessun account utente, nessuna analytics, nessuna dipendenza esterna oltre a quelle essenziali.
🗂️ Modello dei dati
Ogni voce di debito ha questo aspetto:
type Debt = {
id: string;
name: string;
amount: number;
type: "owed" | "borrowed";
createdAt: number;
history: Repayment[];
};
type Repayment = {
amount: number;
date: number;
};Mantenere tutto serializzabile rende archiviazione e migrazioni semplicissime.
🧠 UX local-first
TinyDebt non si affida a un server, quindi:
- le azioni si applicano all’istante
- non ci sono stati di caricamento o di “sincronizzazione”
- l’app è veloce anche sui telefoni più vecchi
Per una piccola utility personale, è l’ideale.
🎨 Filosofia dell’interfaccia
Volevo che l’app trasmettesse “calma”:
- colori neutri e semplici
- nessun grafico né dashboard
- niente disordine: una sola schermata svolge il 90% del lavoro
- aree di tocco accessibili per un inserimento rapido
Le app piccole non hanno bisogno di grafica complessa per essere utili.
📦 Pubblicazione
- Disponibile su App Store
- Disponibile su Google Play
Ma voglio mantenere l’ambito ridotto: è proprio questo il punto.
🙌 I feedback sono benvenuti
Se sviluppi app mobile o hai opinioni sulle utility local-first, mi farebbe piacere ricevere un tuo parere. Sono sempre in miglioramento.
