Depuis quelques semaines, je développe TinyDebt, une petite app pour suivre les dettes, les prêts et les remboursements. Je voulais partager certains choix techniques, au cas où ils seraient utiles à celles et ceux qui créent des apps simples et ciblées.
🧩 Pourquoi l’ai-je créée ?
J’oubliais régulièrement les petites dettes entre amis, et les apps existantes me semblaient trop lourdes : inscriptions, publicités partout et fonctionnalités financières complexes.
Je voulais quelque chose qui :
- s’ouvre instantanément
- permet d’ajouter une dette en 3 à 5 secondes
- fonctionne hors ligne
- reste simple pour toujours
C’est ainsi qu’est née TinyDebt.
⚙️ Stack technique
TinyDebt est volontairement légère :
- React Native (Expo) pour le mobile
- Approche local-first avec AsyncStorage
- Aucun backend : les données restent sur l’appareil (Firebase uniquement pour les sauvegardes)
- TypeScript partout
- Interface minimale avec des composants maison plutôt qu’une bibliothèque UI
- Publication sur l’App Store et Google Play via EAS Build
Pas de compte utilisateur, pas d’analytics, aucune dépendance externe superflue.
🗂️ Modèle de données
Chaque entrée de dette ressemble à ceci :
type Debt = {
id: string;
name: string;
amount: number;
type: "owed" | "borrowed";
createdAt: number;
history: Repayment[];
};
type Repayment = {
amount: number;
date: number;
};Tout garder sérialisable simplifie le stockage et les migrations.
🧠 Expérience local-first
TinyDebt ne dépend pas d’un serveur, donc :
- les actions sont appliquées instantanément
- il n’y a aucun état de chargement ou de synchronisation
- l’app reste rapide même sur les anciens téléphones
C’est idéal pour un petit outil personnel.
🎨 Philosophie de l’interface
Je voulais une app apaisante :
- des couleurs neutres et simples
- aucun graphique ni tableau de bord
- pas d’encombrement : un seul écran fait 90 % du travail
- des zones tactiles accessibles pour une saisie rapide
Les petites apps n’ont pas besoin d’une interface complexe pour être utiles.
📦 Publication
- Disponible sur App Store
- Disponible sur Google Play
Je veux toutefois garder un périmètre réduit : c’est tout l’intérêt.
🙌 Vos retours sont les bienvenus
Si vous développez des apps mobiles ou avez des idées sur les outils local-first, vos retours m’intéressent. L’app continue d’évoluer.
