Inspiration
Many young adults enter the workforce without basic financial literacy skills, leading to poor money management, insufficient retirement savings, and missed investment opportunities. We were inspired by the 2008 financial crisis and its lasting impact on people who weren't prepared for market volatility. We wanted to create an engaging, gamified experience that teaches financial concepts through real-world scenarios, which would allow players to learn from historical market data without risking actual money.
What it does
FinLife is a game where every decision matters for your player stats and net worth. Players start with a job, salary, and basic expenses, then navigate authentic financial decisions as they progress day-by-day through time.
Core Features:
- Real Historical Data: Stock prices update daily using actual market data from 2009-2019, including major events like the recovery from the Great Recession
- Comprehensive Financial Management: Players manage checking accounts, emergency funds, 401(k) retirement accounts, and investment portfolios
- Technical Analysis Tools: Interactive charts with RSI, moving averages, volatility metrics, and trend analysis help players make informed investment decisions
- Life Event System: Encounter realistic scenarios (career changes, unexpected expenses, market opportunities) that teach decision-making under pressure
- Financial Literacy Integration: Info buttons throughout the game provide educational content with direct links to T. Rowe Price resources
- Time Control: Adjustable game speed (1x, 5x, 10x) lets players simulate years of financial decisions in minutes
- Financial literacy links for Investopedia and T. Rowe Price: Players can read informational articles about aspects of the game such as what is a 401k, reading stock charts or buying and selling stocks in a smart way.
How we built it
FinLife is built with modern web technologies focused on performance and user experience:
- React.js: Component-based architecture for managing complex UI states
- Chart.js: Real-time stock price visualizations and technical analysis charts
- Yahoo Finance Api: Pulls accurate data from the stock market history to show in the game from real life stocks such as IVV, NVDA or VTI
Challenges we ran into
The biggest challenge was ensuring the game's date advanced consistently across all components and resolving the merge conflicts whenever a team member was making changes. Updating the dashboard display, stock prices, and market watch cards simultaneously was difficult as well because the stock market has gaps (weekends, holidays, trading halts). We solved this by implementing a forward-fill algorithm in getPriceForDate() that finds the most recent previous date when exact matches aren't available, ensuring smooth gameplay without price jumps. Also, rendering daily stock data for multiple securities over 365+ days caused significant lag. We optimized by: Disabling Chart.js animations and using smart label generation showing only monthly markers.
Accomplishments that we're proud of
We successfully built a comprehensive financial life simulator that combines real historical market data (2009-2025) with professional-grade technical analysis tools (RSI, moving averages, volatility metrics) to create an authentic investing experience with many informational insights. Our implementation includes a fully functional financial ecosystem with checking accounts, emergency funds, investment portfolios, and 401(k) retirement planning. We integrated T. Rowe Price's official financial literacy resources directly into gameplay through contextual info buttons, making education accessible when the player needs it. Most impressively, we achieved smooth performance at 10x game speed (10 days per second) while updating multiple charts and calculations in real-time, proving that complex financial simulations can be both educational and engaging. We are very satisfied with the user interface, that includes gradient designs, interactive charts, and intuitive dashboard layout demonstrates our commitment to making financial literacy enjoyable.
What we learned
Through building FinLife, we gained deep technical expertise in React's Context API and advanced state management patterns while handling complex financial calculations across many lines of game logic. We developed a thorough understanding of personal finance concepts including 401(k) mechanics, pre-tax vs. Roth contributions, technical analysis indicators, tax implications across different account types, and the critical importance of time-in-market during volatile periods. The project taught us valuable lessons in gamification and prompt engineering when we needed to solve conflicts in our design or logic using LLMs.
What's next for FinLife
Looking ahead, we plan to expand FinLife with multiplayer competitive modes where players can compare investment strategies, add more asset classes including real estate and cryptocurrencies, since we did not have many information on crypto when we were building the project. We would also want to implement an achievement system to reward financial milestones. An AI-powered financial advisor chatbot for personalized guidance was also an idea that we had, and it would also help the player to develop structured educational modules on advanced topics like dollar-cost averaging and portfolio rebalancing. Our long-term vision includes partnering with high schools and universities to deploy FinLife as a curriculum supplement, offering digital certifications for financial competency and eventually make FinLife a mobile app as well with React Native.
Built With
- chart.js
- javascript
- react
- yahoo-finance-api
Log in or sign up for Devpost to join the conversation.