Articolo

Ho creato TinyDebt: un tracker dei debiti essenziale senza backend

Uno sguardo alle scelte tecniche di TinyDebt: archiviazione local-first, nessun backend e un’interfaccia calma che non ti intralcia.

Ho creato TinyDebt: un tracker dei debiti essenziale senza backend

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

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.