CoinQuest Money habits
A money-skills platform for children aged six to twelve: lessons, quizzes and mini-games that pay out coins, a pretend investment wallet, and a parent mode that turns coins into real allowance.
- Role
- Fullstack, client project
- Timeline
- Nov 2025 – May 2026
- Stack
- Next.js · Express · MongoDB · Stripe
- Status
- Live
Coins for choices
The client wanted kids to make money decisions every day instead of reading about them. Everything a child does earns coins, and coins can be spent, saved, invested or, with a parent's approval, turned into real money.
Because coins can become real money, a parent has to be able to trust every number.
- Lessons grouped into modules, each with a quiz.
- Mini-games: budgeting, a lemonade stand, exact change, price comparison, a bank teller.
- A daily quiz of three questions, generated from templates, five coins for each first correct answer.
- Subscriptions through Stripe, with plan changes, cancellation and a billing portal.
- 6–12
- Age
range - 3
- Daily quiz
questions - 0
- Cron jobs for
interest
What I built
An investment wallet without a scheduler
Admins create markets with a daily return rate. Each investment stores only a base amount and the time it was last settled, and its value is computed on read with compound growth. Deposits and withdrawals settle first, folding the growth into a new base.
Parent mode
A PIN, hashed with bcrypt, gates the parent screens inside the child's account. The parent sets how many coins make a dollar, and approves withdrawals. Each withdrawal stores the ratio at the time it was made.
Generated questions
Daily quiz questions come from templates with variables, such as a need, a want, an amount or a waiting period, so the bank of questions grows without anyone writing them. Answers are never sent to the client before they're submitted.
Admin tools
A rich-text editor for lessons, management for games, markets and achievements, and a waitlist that fed the beta launch.
Growth on read
Nothing runs on a timer. Value is worked out from elapsed time whenever someone asks, which keeps the backend safe to run on serverless hosting and means a missed job can never leave a balance stale. A transaction log records every coin that moves in or out of a market, with the market's name copied in so history still reads correctly after a market is deleted.
value = baseCoins * (1 + dailyReturn / 100) ** daysSinceSettledWhere it landed
CoinQuest is live at coinquest4kids.com with paid plans. I built the Next.js frontend, the Express API and the admin panel, from the first commit in November 2025 to the allowance and daily quiz release in May 2026.