Walletko

Lobby |

ReactTanStack StartDrizzlePostgres
Walletko banner

Ton compte en banque affiche un seul chiffre, et ce chiffre ment. Il y a le loyer dedans, l'épargne que tu t'étais promis de ne pas toucher, et ce qui est vraiment libre. Walletko sépare les trois.

Comment ça marche

Tu crées des paniers, chacun avec une part : Loisirs 30 %, Imprévus 20 %, Voiture 10 %. La somme fait toujours 100.

À chaque rentrée d'argent, le montant se répartit tout seul dans les paniers selon leur part. Une dépense puise dans les paniers que tu choisis, et un panier vide ne paie rien. L'argent ne passe d'un panier à l'autre que si tu le déplaces. C'est le système des enveloppes, en numérique.

Un panier, c'est aussi un objectif. Le mien s'appelle Voiture, il prend 10 %, et je vois où j'en suis sans rien calculer.

Ce que ça fait

Paniers : parts en pourcentage, soldes calculés, transferts, archivage.

Transactions : revenus, dépenses, transferts entre paniers.

Annulation, jamais suppression : tu ne peux pas effacer un revenu que tu as déjà dépensé, donc les soldes restent honnêtes.

Le reste : tags, vues sauvegardées, tableau de bord avec les soldes et un graphe annuel, connexion sans mot de passe.

La règle des 100 %

Tout tient sur un invariant : la somme des parts fait 100, en permanence. Ajouter un panier, en archiver un, redistribuer, chaque opération repasse par la même validation et refuse si le compte n'y est pas. Cette validation vit dans le domaine, pas dans un formulaire. L'interface ne peut pas fabriquer un état incohérent, même si je me trompe dedans.

Migrer depuis Finance

Finance est une autre application de budget que j'ai écrite. Si tu l'utilises et que tu veux passer à Walletko, il y a un outil pour ça : il lit directement la base de Finance et recrée tout dans Walletko, utilisateurs, tags et opérations. Chacun récupère un panier par défaut à 100 %, et on peut le relancer autant de fois qu'on veut sans jamais rien dupliquer.