Inspiration

The idea for Vault was born out of a deeply personal need. I’d been looking for a personal finance management app that could automatically track my income, expenses, debt, savings, and investment goals, and support my South African banking details. None of the apps I tried could link to South African accounts or provided the level of granularity and control I was after. So I built my own.

Vault is designed to bring financial clarity to individuals like me who want an elegant, powerful tool to manage every aspect of their finances, without borders.

What it does

Vault is a full-stack personal finance dashboard built for individuals in South Africa to:

  • View and analyse income vs expenses
  • Track debt & credit repayments
  • Monitor savings, net worth, and retirement goals
  • Manage subscriptions, insurance policies, and tax deductions
  • Visualise budget planning and goal progress
  • Stay on track financially through structured data and dynamic UI

Each financial domain is represented as a dashboard tile, with collapsible subsections and detailed, interactive table views beneath each. Vault centralises everything so users don’t need 10 different apps to manage their money.

How I built it

I began by designing the UI outside of Bolt.new, to make sure the layout, flow, and visual experience met my vision. I mocked up components like the dashboard, login screen, tables, and tiles using HTML/CSS with a clear visual hierarchy.

Once satisfied with the front-end, I moved into Bolt. I submitted a single, very long prompt that included:

  • A full description of the project idea
  • Desired features and functionality
  • My design goals
  • The tech stack I wanted to use: React, TailwindCSS, and Supabase
  • My complete UI code, asking the AI to build around it

While I needed to prompt a few times afterwards for tweaks and improvements, the bulk of the working app was built from that one foundational prompt. This was an intentional challenge to see how far a single well-formed idea could go using Bolt.

Challenges I ran into

The biggest challenge was API integration for financial data. I initially thought I could plug into APIs to fetch live income and expense records, but I quickly realised:

  • Many APIs (like those offering banking integrations) are region-locked or don't support South African institutions
  • There are strict regulatory requirement (such as Open Banking compliance under PSD2 or local equivalents like SARB regulations)
  • Most financial APIs are not free, or require licensing agreements and audits before usage

For example, platforms like Plaid offer powerful APIs for U.S. banks, but do not support South Africa. This fundamentally changed my approach, leading me to structure Vault’s data model in a way that allows manual entry with smart categorisation, and room to integrate bank feeds when viable providers become available.

Accomplishments that I'm proud of

  • I built a working finance dashboard app from scratch that actually meets my real-world needs
  • I used Supabase, for the first time, to handle user authentication, relational data, and security with zero backend code
  • I converted a full visual UI mockup into a functional, reactive system
  • I did it all with a single architectural prompt and a few refinements
  • I built a clean, elegant UX that feels more like a real product than a prototype

What I learned

  • API integration is not just “plug and play.” You must evaluate:
    • Data access permissions
    • Legal and financial compliance
    • Region-specific API support
  • Supabase is powerful enough to be a backend for production-level apps, even at scale
  • A well-written prompt in Bolt can be equivalent to an entire sprint of planning, designing, and coding
  • The combination of good UI thinking + modular data models is key to building scalable apps

What's next for Vault

  • Integrate with a local financial data aggregator that supports SA banks
  • Add smart transaction categorisation, spending summaries, and visual insights
  • Turn Vault into a PWA with offline capability
  • Introduce CSV import/export so users can bring in data from their bank statements
  • Add biometric login support for mobile-first users
  • Explore using AI agents for automated budgeting (the user describes their budget in a prompt, the agent creates it)

Vault was built to solve my problem, but it's built with the infrastructure to solve that problem for millions. With Supabase and Bolt, it can scale when the users do.

Built With

  • css
  • html
  • netlify
  • react-(via-vite)
  • supabase
  • tailwindcss
Share this project:

Updates