Inspiration

In a world where financial literacy is more important than ever, we noticed a gap: many people—especially students—lack the skills to manage money wisely. Inspired by games like SimCity and Monopoly, we wanted to create something engaging that makes learning personal finance and economics fun, interactive, and rewarding.

What it does

FinanceVille is an interactive, gamified desktop application that helps users learn personal finance and economic principles through engaging activities. Here's what it offers:

🏦 Simulated Economy – Users manage their balance, savings, and happiness while making financial decisions.

📈 Investments & Taxes – Make smart investments or adjust tax rates to influence your in-game economy.

📝 Financial Quizzes – Learn by answering multiple-choice questions on financial topics.

📅 Daily & Weekly Challenges – Earn rewards by completing real-world inspired financial tasks.

🎯 Auto Weekly Reset – Every Monday, challenges reset to keep users coming back regularly.

🎨 Graphical Progress Bars – Visually track happiness using progress bars in the GUI.

🏆 Leaderboard – Compete with other players based on savings in a ranked system.

🌗 Dark Mode – Switch between light and dark themes for better accessibility.

💾 Save & Export – Save your game or export progress reports to .txt files.

🧠 Admin Quiz Editor – Easily add, edit, or remove financial quiz questions.

How we built it

We built FinanceVille using: Python and Tkinter for the graphical interface SQLite for saving user profiles and game data A modular structure to support extensions (quiz editor, ranking, badges, etc.)

Challenges we ran into

Challenges We Ran Into Designing Meaningful Challenges We wanted the weekly and daily challenges to be both educational and engaging, without feeling repetitive or overly difficult.

Automating Weekly Resets Implementing a reset system that accurately triggers every Monday while preserving user progress was tricky and required careful handling of date comparisons.

Balancing Gameplay with Education It was important to make the game fun without sacrificing its educational value. We had to test various features to find the right balance.

Managing GUI Complexity As features grew, maintaining a clean and user-friendly Tkinter interface required careful structuring of frames and dynamic updates.

Database Consistency Ensuring the SQLite database correctly stored and retrieved all user stats, challenges, and rankings across sessions took multiple iterations.

Accomplishments that we're proud of

✅ Created a fully functional financial education game using Python and Tkinter from scratch.

🧠 Integrated real-world economic concepts like budgeting, savings, taxes, and investments in a fun, interactive way.

📅 Implemented a working weekly challenge system that resets automatically every Monday to encourage consistency.

🏆 Built a live ranking system to promote friendly competition among users based on savings.

🎨 Enhanced the user experience with a dark mode, graphical happiness bar, and a clean, intuitive GUI.

💾 Included save/load and export functionality to allow users to track and share their progress.

🧠 Designed a quiz editor for admins, enabling the app to grow and adapt with new content.

What we learned

💡 Gamification increases engagement – By turning financial education into a game, we saw how users are more likely to participate and retain information.

🧱 Building a modular app – We learned how to design features (like quizzes, banking, challenges) in a scalable, modular way that makes future updates easier.

🗃️ Working with SQLite – We gained hands-on experience managing persistent data storage and ensuring data integrity across user sessions.

🖼️ Designing user-friendly GUIs – Through iteration and user testing, we learned how important layout, colors, and visual feedback are in keeping users engaged.

📅 Handling time-based logic – Implementing the weekly reset system taught us how to work with Python’s datetime features to build time-aware applications.

🧠 Balancing fun with function – We explored how to maintain educational value while keeping the game exciting and intuitive.

What's next for FinanceVille

We’re excited about the future of FinanceVille and plan to expand it with even more features to boost engagement and educational value:

🎖 Achievement & Badge System Reward players with badges for reaching milestones (e.g. saving $1000, completing all weekly challenges, scoring perfect quiz rounds).

👥 Teacher & Student Accounts Add role-based access to allow educators to track student progress, assign challenges, and manage content.

🧩 More Financial Topics Expand the quiz database to cover credit scores, insurance, investing strategies, and macroeconomics.

📈 In-Depth Analytics Introduce dashboards to show long-term user progress, learning stats, and areas for improvement.

🌐 Web Version or Mobile App Port the app to a web or mobile platform using technologies like Flask/Kivy to increase accessibility.

🔄 Daily Login Rewards & Streaks Encourage consistent engagement with login bonuses and activity streaks.

🛍️ In-Game Marketplace Let users "spend" their virtual money on upgrades, customizations, or unlock new levels/content.

Built With

Share this project:

Updates