Inspiration

I am a software engineer, and for a long time I was working several jobs at once trying to clear my bills.

I believed what most people believe: that the answer was more income. A better contract, a higher paying role, one more side project. So I got the raise. And then I watched my spending quietly grow to meet it. New bills appeared. Old ones got bigger. I was earning more than I ever had and still counting down the days to payday.

That was the moment I understood the problem. It was never really about how much I earned. It was about a leak I could not see, and the leak scaled with my salary.

This is not a Nigerian problem, or a young professional problem, or a freelancer problem. It is close to universal. Millions of people who are perfectly good at their jobs are losing money in a way nobody shows them until the month is already over.

So I went looking for software that would help, and every app I tried did the same thing. It gave me a beautiful chart of a mistake I had already made. It was a mirror. It told me I had overspent on transport again, three weeks after I could have done anything about it, and then asked me to try harder next month.

Willpower is not a product. I did not need another report. I needed something watching while I was not.

So who actually gets that? Who has someone watching their money for them?

The people who do have that already pay for it. It is called a financial adviser: a person who watches your accounts, notices the pattern forming, and tells you before you make the mistake, not after. That service has existed for a very long time. It has just never been affordable unless you were already wealthy, because it costs a human being's time.

That is the thing I wanted to build. Not a better mirror. The adviser, for everyone, at a price that works because software does the watching."

For a smoother experience, users who want to see what's happening in the background can use the web app or install the PWA for an frictionless mobile experience.

What it does

You connect your bank once. After that, you are not required to do anything at all.

Budgetify AI reads your transactions as they happen and runs a full check over every active user once a day. It sorts your spending into categories, learns when your income lands, works out when you are going to run out of money before you do, notices subscriptions you forgot you were paying, and when it is sure enough that something is wrong, it tells you. On WhatsApp, email, SMS or push, whichever you picked, and never in the middle of the night.

Not "here is your monthly report". More like: you are eighteen thousand Naira ahead of your normal transport spending this week, and rent is due in nine days.

You can also just email a receipt to your account and forget about it. The AI reads the photo, pulls out the items and amounts, sorts them, matches them to the right budget, and files them. There is no review screen. You do not confirm anything. It simply happens.

And every day it works out how much you could safely put away without leaving yourself short, calculated against your real balances, so that saving stops depending on you remembering to do it.

How I built it

The system has three layers, and keeping them separate is the most important decision in the whole product.

The sensors. Bank syncing, matching duplicate transactions, spotting subscriptions, forecasting when you run out of money. All of this is ordinary code doing ordinary arithmetic. No AI is allowed anywhere near it. Every single number a user ever sees is calculated here.

The brain. This is Gemini. Everything that needs language or eyesight runs on Gemini 3.5 Flash Lite: reading a crumpled receipt photo, working out what an unfamiliar shop name means, answering a question in chat, turning a correct but cold forecast into a sentence a human actually wants to read.

The hands. The parts that act without asking permission: writing a category onto your expense, filing an emailed receipt as a real transaction, sending you a warning, deciding you have reached the point where the product has proved itself to you.

Budgetify AI System Overview

Between the brain and the hands sits the piece I am most proud of. I call it the numeral guard, and it is simpler than it sounds.

Here is the problem it solves. Suppose the app has correctly calculated that you have 12,000 Naira left for the month. The AI's job is to turn that into a friendly sentence. But language models sometimes produce a number that sounds plausible and is wrong, so it writes "you have about 21,000 Naira left". That is not a small bug in a money app. Someone reads it, believes it, and spends money they do not have.

So before any AI sentence reaches a user, we pull out every number in it and check each one against the numbers our ordinary code calculated. If there is a number in there that our own system never produced, we throw the AI's sentence away and send the plain calculated one instead. On the most sensitive messages we do not send anything at all, and we raise an alert for ourselves.

In plain terms: the AI is allowed to choose the words. It is never allowed to invent the money.

Budgetify AI Numeral Guard

Challenges I ran into

The AI made up a number. Early on, the narration produced a figure that looked convincing and was simply wrong. I stopped everything and built the numeral guard described above. It now runs on every path where AI-written text can reach a user.

Being useful without being unbearable. My first version of the alerts was technically correct and genuinely annoying. It woke people at 2am and it fired over noise. I added two things: a confidence level the agent has to clear before it is allowed to interrupt anyone at all, and quiet hours, so a message waits rather than being dropped.

One purchase showing up three times. Money lands in one account, you move it to another, you spend from there, then you photograph the receipt. That is one purchase and three records. I built something that merges them automatically, and, just as importantly, lets you undo any merge. An automatic system you cannot correct is one people stop trusting.

Knowing what not to automate. The engine that decides how much money you could safely save runs every day on real balances. I have deliberately not connected it to the part that actually moves the money. Moving other people's money requires working with a licensed, regulated partner, and doing it before that agreement is signed would be reckless. I built the thinking and the safety first. Turning the transfer on is a settings change, not a rebuild.

What I learned

The hard part of building with AI was not getting the model to do more. It was deciding where the model is not allowed to go. That boundary is the thing that makes it safe enough to actually put in front of someone's bank account.

Budgetify AI Zero-Touch Receipt Path

What's next

Finishing the agreement with a licensed money manager so the savings transfers can be switched on. And taking this beyond Nigeria. The detection engines already understand different currencies, which is the part that usually makes this kind of product impossible to move between countries.


Budgetify AI Chat Screenshot

Using Budgetify AI to identify spending leaks

Budgetify AI Agent Log Screenshot

The AI agent's own log: autonomously run per user, against real bank data. Transparently visible to the user.

Budgetify Mobile View

Using Budgetify AI on mobile

Built With

Share this project:

Updates