DEV Community

Cover image for Slowth Money: a local AI agent for your financial goals

Slowth Money: a local AI agent for your financial goals

Julien Avezou on October 25, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady What I Built Personal finances can often be...
Collapse
 
itsugo profile image
Aryan Choudhary •

This is so cooooool!!! I'll definitely use it for myself!

Collapse
 
javz profile image
Julien Avezou •

Thanks Aryan!! Nice hearing from you! Hope you are well!

Collapse
 
itsugo profile image
Aryan Choudhary •

Thank you Julien, I am doing well and glad to see you are still building cool stuff! I really hope to be back here soon. I do have a lot of ideas but not enough bandwidth to actually bring them to reality :(

Thread Thread
 
javz profile image
Julien Avezou •

Good to hear you are doing well Aryan!
That's fine, I also took a break from posting as I had a lot going on in the last months. Don't be hard on yourself. I am sure you will be back soon with a great article to share :)

Collapse
 
alexshev profile image
Alex Shev •

For financial agents, the most useful output is often a decision explanation rather than a recommendation. Show the inputs used, the assumptions, the confidence or uncertainty, and the next reversible step. That lets people learn from the agent without handing it authority it has not earned.

Collapse
 
alexcodebytes profile image
Oleksandr •

The strict separation of private context (your salary/debts) and public context (bank rates/promotions) is a brilliant architectural choice. The trust score system for RAG sources is also a really clever way to prevent the agent from hallucinating based on a random Reddit thread.

One technical question on the "lazy" notification threshold: how does the app calculate the actual financial benefit? Does the deterministic TypeScript code pull the user's current savings rate and compare it against the newly scraped promotional rate to estimate the delta, or does Gemma help with that reasoning?

Really clean setup for an MVP, especially keeping the financial math completely out of the LLM!

Collapse
 
javz profile image
Julien Avezou •

Thanks Oleksandr!

Great question. Gemma isn't involved in calculating the benefit (yet).
As a user, you would manually record you current balance and interest rate and any fees. Then the deterministic code calculates the benefit threshold as:

benefit = potential offer interest − current interest − fees

Collapse
 
alexcodebytes profile image
Oleksandr •

Keeping the math entirely deterministic is definitely the right call for an MVP. LLMs are terrible at arithmetic, so having the formula (benefit = potential - current - fees) calculated in TypeScript ensures the user gets an exact, reliable number.

Down the line, when you eventually hand Gemma a role in this, it would probably be best suited for the unstructured part—like reading a messy promotional web page and extracting the potential offer interest and fees so the user doesn't have to type them in manually. Until then, manual input + deterministic math is a rock-solid approach!

Thread Thread
 
javz profile image
Julien Avezou •

Thanks for validating this approach!

Collapse
 
paullovelace profile image
Paul Lovelace •

What I liked most wasn't the local model itself, it was the boundary you drew around it — public rates in, salary and debts staying put. The 7-day refresh rule is the kind of boring detail that actually makes a finance tool usable, because nobody needs a fresh offer check every morning. I'm curious how the trust scores play out when sources disagree, though: if a bank's 0.95 offer contradicts a 1.00 government rule, does the higher score just win, or does the app flag the conflict for you?

Collapse
 
javz profile image
Julien Avezou •

Thanks Paul! The trust score is used to rank sources, but the disagreement is not supposed to disappear just because one score is higher. In the example you give, the government source would be selected, but the bank disagreement would still be flagged rather than silently discarded.

Collapse
 
smartbudgetsheets profile image
Smart Budget Sheets •

Keeping the sensitive data local is a smart design choice for a finance tool. A calm goal view that shows one number, like months to reach the goal at the current savings rate, tends to motivate people more than detailed charts.

Collapse
 
npp555 profile image
Nals •

Wow, such a useful tool! Can't wait to use it 🙏🏼

Collapse
 
javz profile image
Julien Avezou •

Thanks Nals!