Inspiration

Many people learn about money from videos or worksheets, but they rarely get to practice paying rent, managing credit, or choosing needs vs wants when something unexpected happens. We wanted a way to make those lessons stick without feeling like homework.

Pocket Piggy started as a simple question: what if learning personal finance felt like playing a life sim? You earn money from jobs, buy food so you don’t starve, pay bills on time, build credit, and work toward a clear goal: own a house and reach a 700 credit score by day 60. That mix of game pressure and real rules felt like the right way to teach financial literacy for our generation in an aesthetic digital format.

What We Learned

Gamese like there are better when it’s interactive so letting players hit “Next Day” and immediately see food drop, bills come due, or pay hit their balance taught us that feedback loops matter more than long explanations. Mobile-first design is harder than it looks because we had to create different formats if the player tilts their phone or chooses to play in a vertical format. Portrait layouts, safe areas, scrollable panels, and readable text on small screens took a lot of time, especially on Home so it is best to figure out this step before adding anything else.

AI works best as a coach, not the whole game. Piggy (Gemini + local fallbacks) helps explain rent, credit utilization, and goals, but the sim itself runs on Firestore rules so the app still works without an API key. We replaced broken mini-games with Finance Quiz and Budget Sorter which were smaller to build, and more reliable.

How It's Built

Built with React Native, Expo, TypeScript, Firebase Auth, Cloud Firestore, React Navigation, Google Gemini, Claude AI, Cursor Architecture: Each player has a Firestore document (balance, job, day, food, credit, loans, paymentsSettled, etc.). Screens read/write that doc; Next Day on Home is the main game loop (food, work minutes, pay, bill gates, emergencies).

We used Firebase Authentication and Cloud Firestore for the backend. When a user signs up, we create a Firestore document that stores their game state: balance, job, day, food, credit score, bills, loans, and goal progress.

We used React Navigation for the app structure. There are bottom tabs for Home, Shop, Bank, and Learn. Inside Bank, there is a drawer for Checking, Savings, Credit, and Loans.

The main game loop lives on Home. When the player presses Next Day, the app subtracts food, counts work time from stopwatches, checks bills, may trigger pay, and moves to the next day.

Players start with $100 total balance, 0 food, day 1, and no job. They can apply for Company, Freelance, or Part-Time work. Each job type has its own stopwatch and mini-game. Right now each job needs at least 1 minute of work to count.

Pay is calculated as minutes worked times pay rate. Company pays $200 per minute, Freelance pays $150 per minute, and Part-Time pays $100 per minute. Part-Time pay comes every 10 days. Company and Freelance pay on eligible days when the player presses Next Day.

We added educational work games instead of broken arcade games. Part-Time uses Finance Quiz. Freelance uses Budget Sorter, where players sort expenses into needs and wants.

Piggy is our AI assistant. It answers questions about jobs, bills, credit, food, and the win goal. It also gives situational tips when food is low or bills are due.

The win condition is owning a house and reaching a 700 credit score by day 60. Players can lose by starving if food stays at 0 for 3 days.

Challenges We Faced

One challenge was login causing Home to reload twice. Both the auth listener and the login button were navigating to Main. We fixed that by letting the auth state handle navigation once. Another challenge was bills. Players could move past due days without paying. We fixed that by tracking paid bills and blocking Next Day until current bills are paid. One main challenge was balancing realism and fun. We added emergencies, job rejection excuses, bill gates, and starvation so choices matter, but we also lowered work minimums to 1 minute so the app is easier to test and demo. Our last challenge was too many features for a short demo video. We focused on one simple path: get a job, work one minute, press Next Day, and show some small features.

Share this project:

Updates

Submission history