🧠 Inspiration
Budgeting is often taught in dry, abstract terms—spreadsheets, lectures, or apps that assume users already know what to do. I wanted to flip that. BudgetBuddy was inspired by the idea of turning financial literacy into a game: something interactive, visual, and forgiving enough to learn by doing. The goal was to simulate real-life budgeting decisions—splitting income, handling surprise expenses, and building an emergency fund—while keeping it friendly and aesthetic.
🔍 What I Learned
- How to scaffold a modular budgeting simulation using plain HTML/CSS/JavaScript.
- The importance of onboarding UX: even a simple “Auto-Budget” button and tip panel dramatically improved first-time user experience.
- How to visualize financial history using canvas charts and maintain state across months.
- That even small tweaks to UI (like range sliders and dynamic labels) can make budgeting feel tactile and intuitive.
🛠️ How I Built It
- Frontend Stack: HTML, CSS, JavaScript.
- Design: Custom layout with Inter and Space Grotesk fonts, responsive container, and modular cards for stats, decisions, tips, and history.
- Game Logic:
- Users start with a fixed income and allocate funds to essentials, wants, and emergency savings.
- Each month, they face random events and must adjust their budget accordingly.
- A chart tracks balance history, and a modal summarizes monthly outcomes.
- Features:
- Auto-budgeting logic to split income based on heuristics.
- Interactive sliders for adjusting wants and emergency contributions.
- Event log and tip system to simulate financial surprises and advice.
- Confetti canvas and modal summary for positive reinforcement.
⚠️ Challenges Faced
- Balancing realism and simplicity: I had to decide how much complexity to include without overwhelming users. For example, I avoided debt mechanics and focused on core budgeting behaviors.
- State management: Keeping track of month-to-month changes, user decisions, and event outcomes required careful DOM updates and reset logic.
- Accessibility: Ensuring the game was keyboard-friendly and readable across devices took extra iteration.
- Visual feedback: Making the game feel responsive and rewarding (e.g., confetti, chart updates, modal summaries) was key to engagement but required fine-tuning.
📐 Math Behind the Budgeting
The auto-budgeting logic uses proportional allocation:
$$ \text{Essentials} = 0.6 \times \text{Income}, \quad \text{Wants} = 0.3 \times \text{Income}, \quad \text{Emergency Fund} = 0.1 \times \text{Income} $$
These ratios are adjustable, but they provide a baseline for financial stability. Users can override them manually using sliders.

Log in or sign up for Devpost to join the conversation.