Inspiration

Here's the thing about money – it's one of the most crucial parts of adult life, but most of us only figure it out after making some pretty expensive mistakes. Credit card debt, impulse buys we regret, investments that tank, taxes that confuse us – these aren't rare horror stories. They're the norm for college students, not because we're reckless, but because nobody actually teaches us this stuff in a way that sticks.

That's what hit us. Financial literacy is always taught like theory in a textbook, but real money? That's learned the hard way, through consequences. We wanted to close that gap. What if students could make real financial decisions, feel the weight of those choices, and build genuine intuition – all without actually losing money?

The idea was pretty straightforward: if life teaches you about money through experience, why shouldn't education work the same way? That's why we built FATE.

What It Does

FATE is a financial life simulator built specifically for Indian college students. You move through time month by month – earning income, paying taxes, dealing with expenses, making choices that stick with you.

No rewinds. No save points. No do-overs. Every decision affects your balance, your savings, your risk profile, and those consequences follow you forward. Good habits compound. Bad decisions haunt you. Just like real life.

What makes FATE different is that it's not following some pre-written script. The game adapts to you – whether you're playing it safe, spending impulsively, taking big risks, or building slowly. The simulation gets harder or easier based on how you actually behave.

Beyond just spending and saving, FATE includes the real financial systems you'll actually deal with: insurance, fixed deposits, mutual funds, taxes, the works. We also built in calculators for EMIs, SIPs, budgeting, retirement planning, and compound interest, so you can learn the math behind the decisions.

How We Built It (and Why Gemini Changed Everything)

Google Gemini is the brain behind FATE's realism. Instead of cycling through pre-written scenarios, Gemini generates personalized financial situations based on your history, your risk tolerance, and how you've been playing.

Every month, Gemini creates scenarios that reflect your actual behavior – maybe it's hostel expenses if you've been spending on lifestyle, unexpected repairs if you're cutting corners, or investment opportunities if you've been cautious with cash. At the end of each month, Gemini analyzes your decisions and gives you a reflection that breaks down your spending habits, tax impact, and risk exposure in plain English.

Gemini also throws strategic questions at you that shape the next month's difficulty and economic conditions. Think of them as mindset choices that determine whether your financial life gets more stable or more chaotic.

But here's the important part: Gemini doesn't control the actual game logic. All the outcomes are deterministic and handled by our custom game engine. Gemini provides the story, the context, the insight – it makes the experience feel alive without making it unpredictable or unreliable.

On the tech side, FATE is a fully client-side web app. We built the frontend with React and Vite for speed, styled it with Tailwind CSS, and added animations with Framer Motion to make it feel more like a game than a finance app. Sound effects using the Web Audio API reinforce every action and decision.

The core is a pure game engine that handles all the financial calculations, risk scoring, behavioral tracking, investments, and month progression. It's completely framework-agnostic and built around immutable state updates, which makes it reliable and easy to test.

We use Firebase Authentication for secure login, but all your gameplay data is saved locally with autosave on every action. You can even export and import your entire game state as JSON, so you actually own your data.

We also built fallback systems so the game keeps running smoothly even if the AI generation fails or hits rate limits.

Challenges We Ran Into

Balancing realism with fun was brutal. Real financial systems are overwhelming, so we had to simplify things without making them feel fake. Every number – income, tax rates, investment volatility – was carefully tuned to feel realistic while still being playable.

Controlling AI unpredictability was another beast. We solved it with structured prompts, strict JSON schemas, and validation layers that keep Gemini's creativity within safe boundaries.

Designing permanent consequences was tricky too. Irreversible decisions boost learning, but they can also frustrate players. We handled this with clear feedback, detailed history logs, and reflective AI analysis instead of just punishing you.

And of course, dealing with API reliability and rate limits required some careful engineering – key rotation, graceful degradation, the whole nine yards.

What We Learned

Building FATE showed us that people learn about money way better through experience than through lectures. We also learned that LLMs work best as storytellers and context generators, not as decision makers.

But honestly? The biggest lesson was how much small design choices matter. Good feedback, smart pacing, subtle audio cues, clear explanations – these turn a complex educational tool into something people actually want to use.

What's Next for FATE

We want to expand FATE with career progression systems, loans and credit mechanics, multiplayer modes where you can compare strategies with friends, and a mobile-first experience to reach way more students.

Why It Matters

FATE shows how AI can teach real-world skills responsibly – not by giving advice, but by simulating consequences. It gives students a safe space to fail, reflect, and grow before those decisions involve real money and real stakes.

FATE isn't a finance calculator. It's not a chatbot.

It's a lived financial experience.

By combining structured game logic with adaptive AI storytelling, FATE helps students build financial confidence through practice, not theory.

Play the game of money before it plays you.

Built for the Google Gemini API Developer Competition

Built With

  • and-game-state-progression.-this-separation-between-game-logic-and-ui-made-the-codebase-much-easier-to-reason-about-and-test.-for-audio-feedback
  • and-strategic-questions.-we-implemented-a-smart-api-key-rotation-system-to-handle-rate-limits-gracefully
  • and-user-experience.-on-the-frontend
  • and-we-added-**framer-motion**-to-create-smooth
  • browser-apis
  • complete-privacy
  • consistent-icons-throughout-the-interface.-the-intelligence-behind-fate-comes-from-**google-gemini-ai**-(specifically-the-`gemini-robotics-er-1.5-preview`-model)
  • css
  • engaging-animations-that-make-the-experience-feel-more-like-a-game-than-a-typical-finance-app.-**lucide-react**-provided-us-with-clean
  • es6+
  • eslint
  • filereader-api
  • firebase
  • firebase-sdk
  • framer-motion
  • gemini-robotics-er-1.5-preview
  • giving-users-complete-ownership-of-their-data-with-autosave-on-every-action.-we-also-built-a-custom-game-engine-in-pure-javascript?completely-framework-agnostic?that-handles-all-the-financial-calculations
  • google-gemini-api
  • here's-a-human-written-answer-for-the-"built-with"-section:-**built-with**-we-built-fate-as-a-fully-client-side-web-application-using-modern-technologies-that-prioritize-speed
  • investment-management
  • javascript
  • json
  • localstorage
  • lucide
  • monthly-reflections
  • netlify
  • npm
  • paired-with-**vite-7.2**-for-lightning-fast-development-and-builds.-for-styling
  • react
  • react-context-api
  • react-hooks
  • reliability
  • risk-scoring
  • supporting-up-to-5-api-keys-for-load-distribution.-for-authentication-and-user-management
  • tailwind
  • usereducer-hook
  • vercel
  • vite
  • we-integrated-**firebase-authentication**
  • we-used-**react-19.2**-with-hooks-for-building-the-ui
  • we-used-the-**web-audio-api**-to-create-contextual-sound-effects-that-reinforce-player-actions-without-being-distracting.-everything-runs-entirely-in-the-browser-with-no-backend-server
  • we-went-with-**tailwind-css**-because-it-let-us-iterate-quickly-on-the-design
  • web-audio-api
  • which-handles-both-email/password-and-google-sign-in.-all-gameplay-data-is-stored-locally-using-**browser-localstorage**
  • which-means-instant-loading
  • which-powers-all-our-scenario-generation
Share this project:

Updates