Inspiration
We built the game we wish existed before we graduate.
Between the four of us , first-generation students, international students, people watching their parents figure out money in real time, we kept asking the same question: why is nobody teaching us this? Students are about to get a diploma with a $34,000 loan and zero instruction on what to do next. Nobody tells you that ignoring your 401k in year one costs you $226,000 by retirement. Nobody explains what happens when student loans capitalize. Nobody warns you that the car you buy at 22 follows you for a decade.
Becoming an adult is hard. Personal finance is harder. And by the time most people realize it, the decisions have already been made.
LAUNCH gives you the chance to make them first.
It is part game, part fortune teller. You live out 12 years of financial what-ifs , what if I invested early? What if I took the freelance risk? What if I bought the house? and watch how each choice compounds into a version of your future. The magic is not just the education. It is seeing the life you could build, before you have to live it.
What It Does
LAUNCH is a full-screen narrative financial life simulator. You play as a 22-year-old fresh out of college with $2,100 in savings and $34,000 in student loans. Over 12 in-game years (ages 22 through 33), you make one major financial decision per year. Every choice shifts your net worth in real time. At the end, an AI generates your personal financial verdict projected out to age 65.
Four starting characters, each with a different financial reality:
- Maya Chen -- PhD student on a $28k stipend. Loans deferred but accruing. The Roth IRA window is open.
- Alex Rivera -- Corporate tech at $58k. 401k with 5% match. Enough income to build real wealth or make expensive mistakes.
- Jordan Kim -- Freelance creative from zero. No benefits, no safety net. Feast-or-famine from day one.
- Sam Patel -- Public school teacher at $38k. PSLF-eligible. Pension. The most powerful path if you know the right programs.
Or build your own -- enter your salary, loans, and career and the AI generates all 12 years around your specific situation.
Key mechanics:
- One number on screen at all times: your net worth. It moves after every decision.
- Real statistics after each choice, sourced from the IRS, Vanguard, CFPB, and NAR.
- Scenarios that adapt to your history. Bad choices have consequences. Good ones open doors.
- A final AI verdict: what you did well, what cost you, and your projected net worth at 45, 55, and 65.
How We Built It
Frontend -- Next.js 15 + Framer Motion
Built in Next.js 15 with the App Router and TypeScript. Every screen is full-bleed and animated -- Framer Motion handles transitions, choice card reveals, net worth pulses, and year overlays. The character select screen uses a custom SVG board with absolutely-positioned plates in a cascading diagonal layout.
AI Decision Engine -- Google Gemini 2.0 Flash
We wrote 48 hand-crafted scenarios (12 per character) across every major life domain: career, debt, savings, lifestyle, investment, tax, and life events. For custom characters, Gemini 2.0 Flash takes over -- receiving the player's full financial state and decision history, then returning structured JSON with 3 to 4 choices, dollar impacts, a lesson, and a real statistic. Consequences follow from prior choices. Ignore your emergency fund and a crisis finds you. Negotiate your salary and an opportunity opens up.
Database -- MongoDB Atlas
Three collections: sessions (full game state), analytics (anonymized per-decision records), and leaderboard (completed games by net worth). The analytics collection is the Security Benefit pitch -- enough players and we can show exactly which decisions recent graduates get wrong most often, and when.
Audio -- ElevenLabs + Howler.js
Scene narration generated in real time via ElevenLabs. Background music via Howler.js with a custom autoplay-unlock flow to work around HTTPS gesture requirements. All sounds wired to a centralized audio manager with a mute toggle.
Save System
Up to 5 save slots in localStorage with metadata per slot. Players can resume any game mid-run. The "Continue" button reads from sessionStorage to detect in-progress games.
Challenges We Ran Into
Gemini JSON reliability. The model sometimes returned markdown-fenced output or valid JSON missing the choices array. We built a multi-layer fallback: strip fences, parse, validate, retry, then fall back to hard-coded decisions.
Autoplay on Vercel. Audio worked locally but went silent on Vercel. Fixed with a dual approach: attempt playback on mount, then catch the next user interaction with a one-time click/keydown/touchstart listener.
Custom character state. Turning raw user inputs into a PlayerState Gemini could use required careful construction -- expenses as a percentage of salary, emergency fund detection, freelancing flags, and a prompt that describes the player by financial profile rather than name.
Accomplishments We're Proud Of
- 48 hand-crafted scenarios that are educationally accurate and dramatically compelling
- A Gemini prompt that generates consequences coherent with prior choices
- A custom character builder feeding fully personalized AI-generated gameplay
- An analytics pipeline that could genuinely serve Security Benefit's research needs
What We Learned
- Framer Motion's
AnimatePresencerequires careful key management -- stale keys cause animations to skip entirely - Gemini 2.0 Flash is fast enough for real-time use but needs strict output format enforcement
- Financial education hits hardest when the consequence is visceral. Watching your net worth drop $7,400 over a credit card minimum payment sticks in a way that reading about APR never does.
What's Next
- More characters: gig economy worker, immigrant on a work visa, single parent
- Multiplayer: play the same scenario as a friend and watch your choices diverge
- Real Security Benefit integration connecting the verdict to actual financial products
- Mobile app -- the format was made for it
Built With
- elevenlabs
- framer-motion
- google-gemini-2.0-flash
- howler.js
- mongodb-atlas
- next.js
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.