An AI-powered budgeting app that minimizes impulse spending and turns saving money into a daily game.
RBC connects your calendar and bank account to create smart, adaptive daily spending limits.
Instead of fixed monthly budgets, RBC:
- Analyzes your past year of income and expenses
- Calculates how much you can safely save
- Lets you set a savings percentage per term (monthly / biweekly)
- Converts your remaining budget into dynamic daily limits
- Sync your calendar(s)
- Connect your bank
- LLM classifies income, mandatory, and variable spending
- Calculates maximum spending per term
- Splits that into daily limits based on:
- Event density
- Estimated event costs
- Historical behavior
- Stay under your daily limit → earn a ✔
- Consecutive days → build streaks
- Unused limit → redistributed intelligently
- End of term → unused funds move to savings
Set savings goals (e.g., $800 TV).
Unused spending accumulates toward your goal via a progress bar.
When the goal is reached:
- You can purchase
- Your streak is protected
- Daily streaks
- Friend leaderboards
- Rank system based on savings efficiency
Savings Efficiency = Saved ÷ Limit
The more efficiently you save, the higher you rank.
Make saving:
- Automated
- Adaptive
- Motivating
- Social
RBC doesn’t just track your money.
It helps you control it.
npm installInstall Google OAuth package:
npm install @react-oauth/googleThis project uses two environment files in the root folder:
.env.local→ root.env→ root
Create a file called .env.local in the project root:
VITE_GOOGLE_CLIENT_ID=
VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=- All frontend variables must start with
VITE_ - Do NOT commit this file
Create a file called .env in the project root:
GEMINI_API_KEY=Do not commit this file.
npm run devThis starts both:
- Frontend (Vite)
- Backend API server
Add this to your .gitignore:
.node_modules
dist
.env
.env.local
