Today is a big milestone for me. I finally took my personal budgeting project, Safi Budget Engine v2.0, out of my local development environment and deployed it live to the global web via Netlify.
The app is built to handle dynamic tax calculations and automatically cascade your net income into the classic 50/30/20 rule (Needs, Wants, Savings). You can check out the live link here: https://admirable-frangollo-ccfb1b.netlify.app
While building it, I ran right into a major product design question that every FinTech developer faces: How do we track the transactions if it isn't linked to a bank account?
The Automation vs. Friction Dilemma
In a fully funded commercial app, you connect to a banking API aggregator. The moment you spend money, a webhook fires, the backend processes it, and the app updates automatically.
But since this is a prototype, everything runs on manual user entry. At first, I thought: Is this too tiresome? Will users hate this manual step?
Then I started looking into the psychology of personal finance and global apps like YNAB (You Need A Budget). They intentionally lean into something called Mindful Budgeting.
When an app automates everything, you stop looking at it. You swipe your card, look away, and ignore the damage until the end of the month. But when you are forced to manually type in that you just spent money out of your "Wants" bucket, it creates positive psychological friction. It forces you to look at your dwindling balance before you spend. It builds a behavioral habit.
What’s Under the Hood for v2.0
Instead of waiting for a "perfect" automated system, I focused on shipping a solid, functional Minimum Viable Product (MVP):
- Dynamic Calculations: The frontend engine handles real-time tax extraction and budget allocation flawlessly.
- On-Device Caching: It leverages local storage mechanics to safely persist your ledger state directly in the browser.
- PWA Capability: I configured it as a Progressive Web App, meaning I can install it straight from the browser onto my phone's home screen, and it launches full-screen just like a native app.
Next on the Roadmap
As a developer, shipping beats chasing perfection. I’m freezing this version today so I can focus on my upcoming software assignments.
But I’ve already got my backlog ready for v3.0:
- Surplus Logic: If a user finds cheaper rent than budgeted, the app will automatically redirect that "Needs surplus" straight into the 20% savings bucket to accelerate financial freedom.
- The Go Backend: Transitioning from local storage to a persistent database using a secure Go (Golang) and Gin framework API.
If you have a quick minute, open up the link, add it to your home screen, and let me know what you think of the flow!
How do you handle your budgeting? Do you prefer total automation, or do you find manual tracking keeps you more honest? Let me know in the comments!
Top comments (0)