Demander un devis
Flowi

Finances personnelles · Application payante

Flowi

Un compteur qui tourne en euros par seconde, et chaque prix converti en temps de travail réellement disponible. Tout reste sur votre téléphone.

En préparation pour les stores

Pourquoi cette app

Le premier chiffre flatte. Le second fait annuler l'achat.

Un revenu mensuel est une abstraction : un nombre qui apparaît une fois par mois et disparaît aussitôt. Flowi le remet en mouvement et le montre tomber seconde par seconde.

Mais l'idée qui compte est la conversion inverse : un prix devient une durée de travail. Et cette durée n'est honnête que si les charges fixes sont dans l'équation. Sur le revenu brut, une dépense s'affichait en quelques jours de travail, en ignorant que le loyer était déjà parti. Charges posées, la même dépense pèse un mois entier de reste à vivre.

Le reste découle : aucun compte à créer, aucune donnée qui quitte l'appareil, et une entrée en matière qui demande le minimum avant de montrer quelque chose d'utile.

Comment elle marche

Cinq écrans, une seule question posée de cinq façons.

  • Convertir : vous entrez un prix, l'application répond en temps de travail, avec l'impact en part du revenu et en part du reste à vivre.
  • Mon rythme : le compteur en direct, ce que vous gagnez chaque seconde, et des comparaisons pour donner une échelle au chiffre.
  • Charges fixes et reste à vivre : loyer, factures et abonnements rangés par catégorie, avec la part de vos revenus qu'ils absorbent réellement.
  • Cibles : les objectifs épinglés depuis l'écran de conversion, pour voir ce que votre temps finance.
  • Suivi : un calendrier mensuel et l'historique, pour regarder la trajectoire plutôt qu'un instantané.
  • Carte à partager : un visuel au format story, avec la possibilité de masquer le montant.

Les défis techniques

Trente-huit tests au vert, et l'application mourait au lancement.

Le crash que les tests ne pouvaient pas voir. L'application mourait sur le premier écran. Le moteur JavaScript embarqué n'implémente pas la fonction de formatage détaillé des nombres, et le formateur est la toute première ligne exécutée par l'écran d'accueil : le plantage arrivait avant l'affichage. Le plus instructif est pourquoi la campagne de tests ne l'a jamais signalé : les tests tournent sur Node, qui embarque le jeu de données international complet, alors que l'application tourne sur un moteur allégé qui ne l'a pas. Le formatage est désormais déduit en formatant un nombre témoin puis en lisant le résultat, avec le seul point d'entrée réellement disponible, et deux tests de non-régression verrouillent le comportement, dont un qui fait échouer la fonction manquante exprès.

Un compteur en direct qui ne vide pas la batterie. Les chiffres se rafraîchissent dix fois par seconde, mais la minuterie est démontée dès que l'application passe en arrière-plan et une valeur fraîche est recalculée au retour. Les montants sont des fonctions pures du temps écoulé : il n'y a rien à rattraper, et une minuterie qui continuerait de battre derrière un écran verrouillé ne ferait que consommer.

Les charges, modélisées à part et jamais en revenu négatif. C'était la tentation évidente, et elle aurait faussé tous les calculs de rythme : l'application a besoin des deux totaux côte à côte, pas d'un solde. Une douzaine de tests couvrent le disponible négatif qu'on ne tronque pas, la division par zéro, la part du brut face à la part du disponible, et le prix nul qui ne doit jamais produire de valeur invalide.

Traduire, c'était formater. Le piège n'était pas les mots mais le format, verrouillé sur une seule langue dans une dizaine d'endroits : une interface anglaise affichant un montant à la tunisienne aurait trahi la traduction automatique au premier coup d'oeil. Le groupement des nombres, la position du symbole monétaire, l'écriture de l'heure et jusqu'à la virgule décimale de l'odomètre, qui imprime partie entière et décimales séparément, suivent désormais la langue. Le catalogue anglais est typé sur le tunisien : une clé manquante casse la compilation au lieu d'apparaître en production.

L'alignement optique du montant. Le symbole monétaire décalait visuellement le nombre d'une bonne quinzaine de pixels. La solution est un jumeau invisible du symbole placé à gauche, masqué aux lecteurs d'écran : un décalage codé en dur aurait été juste sur un appareil et faux sur le suivant.

La stack

Aucun compte, aucun serveur, aucune donnée qui sort.

Flowi est en React Native, sans surcouche de plateforme, en TypeScript. L'état vit dans Zustand, les animations dans Reanimated avec des worklets, les tracés en SVG. Les traductions passent par i18next avec un catalogue typé, et la carte de partage est produite par capture de vue.

Il n'y a pas de backend : les calculs sont des fonctions pures du temps écoulé et des montants saisis, et tout est stocké localement. C'est ce qui permet de dire, sans conditions, que rien ne quitte l'appareil.

React Native · React 19 · TypeScript · Zustand · Reanimated · Worklets · Gesture Handler · react-native-svg · i18next · date-fns · Jest

Télécharger

Pas encore sur les stores.

Flowi est la seule des cinq qui ne soit pas encore publiée. Rien à télécharger pour l'instant, et aucune date promise.

Les six autres applications sont en ligne : voir la page développeur.

Une idée d'application ?

Ces applications, nous les concevons, les codons, les testons et les préparons pour les stores nous-mêmes. C'est exactement le travail que nous faisons pour les clients de l'agence.