BitStocks — A Simulation of Strategy, Risk, and Chaos
Running Game
If game does not run after Enter game, wait a few minutes and reload the site for the backend to spin up
About the Project
BitStocks is a dynamic stock market simulation game where players navigate an evolving financial world driven by news, trends, and uncertainty. Each in-game year introduces new global events that influence stock prices across different sectors, forcing players to adapt their strategies in real time.
Instead of focusing purely on numbers, BitStocks emphasizes decision-making under uncertainty, mirroring how real-world markets behave.
Inspiration
We were inspired by how unpredictable and narrative-driven financial markets are. News headlines, geopolitical developments, and technological breakthroughs often have significant ripple effects across industries.
Our goal was to recreate that experience in a game:
- Not just “buy low, sell high”
- But “interpret the world and react strategically”
Many market-based games simplify everything into charts and numbers. We wanted to introduce story-driven volatility that makes each decision feel meaningful. We chose this because we believe that an everyday investor doesn't have the capacity to learn charts and investing technical. What they need is experience, in understanding news and their emotions so that they build good investing habits. BitStocks gives users a safe place to not just learn about investing, but also learn more about themselves.
How We Built It
BitStocks is a full-stack application built with:
- Frontend: React with NextJS for a responsive and interactive user interface, including data visualizations
- Backend: FastAPI to handle news generation, and NextJS routes to handle database calls
- Database: Supabase for storing game data such as stocks, sectors, portfolios, and historical net worth performance
- AI Integration: Used to generate dynamic news events that influence stock prices
Core systems include:
- A stock price simulation engine that reacts to events
- A news generation system that drives market changes
- A portfolio management system for tracking player investments
- A net worth tracking system to measure long-term performance
- A investing overview system displayed as a pie-chart for visualizing the bigger picture of your investments
Challenges We Faced
Performance and Speed
Generating news dynamically introduced delays of up to 30 seconds, especially when relying on external AI services. We optimized response times by caching results and restructuring how data is generated and delivered bringing our response time to under 5 seconds.
Balancing Realism and Gameplay
We needed to find a balance between realism and engagement. If the system was too realistic, it became slow and less engaging. If it was too random, it felt unfair. Designing a system that feels both logical and fun was a major challenge.
Data and State Management
Managing game state across multiple systems, including year progression, portfolios, and market updates, required careful coordination. Ensuring consistency without breaking the user experience was complex, as the database consisted of 11 tables, each related to one another to bring the game to life.
Security and Environment Management
Working with API keys required proper handling to avoid exposure. We ensured sensitive data was stored securely and excluded from version control.
What We Learned
- How to design systems that feel dynamic and responsive to user actions
- Managing asynchronous operations and improving backend performance
- Structuring a full-stack application with interconnected systems
- The importance of balancing technical complexity with user experience
What’s Next
- More advanced AI-driven market behavior, such as chart patterns.
- Expanded event types, including sector-specific and rare events
- Improved data visualization and analytics
- Potential multiplayer or competitive features
- Ability to follow influences and receive yearly suggestions to influence decision making.
- Fun randomness by spawning into any time era, and investing based on events of that time.
Built With
- fastapi
- gemini
- github
- html
- javascript
- next.js
- react
- render
- supabase
- vercel
- vscode

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