An interactive financial simulation game designed to build empathy and understanding of the challenges faced by low-income families through immersive decision-making experiences.
One Day at a Time is an experiential learning tool that puts participants in the shoes of families making difficult financial decisions under resource constraints. Through 14 days of realistic scenarios, players navigate trade-offs between basic needs, health, family stability, and employment while managing limited resources.
This application was developed in collaboration with Youth Corps Singapore as a voluntary contribution to support their community engagement and education initiatives. The digital platform enables facilitators to run engaging workshops that foster empathy and awareness about socioeconomic challenges.
- Real-time Multiplayer: Multiple participants can join sessions simultaneously
- Presenter Controls: Dedicated interface for facilitators to manage game flow
- Interactive Scenarios: 14 days of realistic financial decision-making
- Consequence System: Interconnected hit system affecting family, health, and employment
- Financial Tools: Borrowing, loan repayment, and asset management options
- Results Dashboard: Comprehensive end-game analysis and discussion points
This app uses Next.js with Convex as a real-time backend.
- Node.js 18+
- pnpm (recommended) or npm
-
Install dependencies:
pnpm install
-
Start the Next.js development server:
pnpm dev
-
In a separate terminal, start Convex:
npx convex dev
-
Seed the game scenarios:
- Open the Convex dashboard URL printed in the terminal
- Navigate to Functions
- Run the
scenarios:seedfunction once
-
Access the application:
- Navigate to http://localhost:3000
- Create a new session to get a room code
- Share the code with participants to join
For Facilitators:
- Click "Create New Session" to generate a room code
- Share the code with participants
- Use the presenter controls to start the game and advance through days
- Present scenarios using the full-screen presentation view
For Participants:
- Enter the room code and your name
- Make financial decisions each day by choosing Option A or B
- Monitor your resources, loans, and family/health/job status
- View final results and discuss outcomes
The simulation includes several interconnected systems designed to reflect real-world financial pressures:
- Players accumulate Family, Health, and Job hits based on their choices
- 3 Family hits → 1 Health hit (Family hits reset to 0)
- 3 Health hits → 1 Job hit (Health hits reset to 0)
- 3 Job hits → Player becomes unemployed (permanent)
- Borrow Money: Up to 3 times during the game (increments of $100-$400)
- Pawn Wedding Ring: Get $150 immediately (one-time option)
- Repay Loan: Pay back borrowed amount + 10% interest
- Redeem Ring: Retrieve wedding ring for $159 (if previously pawned)
- Starting resources: $150 per player
- On Day 14, unemployed players cannot choose salary-related options
- Certain choices are restricted based on employment status
- Day 5 → Day 8: Previous choices affect available options
- Day 14: Job performance (hit count) determines final option availability
- End Game: Unpaid loans automatically deducted from final resources
- Frontend: Next.js 15, React, TypeScript
- Backend: Convex (real-time database and functions)
- Styling: Tailwind CSS, shadcn/ui components
- Deployment: Vercel (recommended)
This project was developed in collaboration with Youth Corps Singapore to support their community engagement and educational initiatives. The development was completed voluntarily to contribute to meaningful social impact programs.
Youth Corps Singapore is a platform that connects young people to volunteer opportunities and community projects, fostering civic engagement and social responsibility among Singapore's youth.
- Youth Corps Singapore for the collaboration and opportunity to contribute to community education
- The original "One Day at a Time" experiential learning methodology
- All facilitators and participants who help bring awareness to socioeconomic challenges
Developed by Archer Chua in collaboration with Youth Corps Singapore