Uzair Manan
Case Study
All projects

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
The Brief

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
The Build

What I built

  1. 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.

  2. 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.

  3. 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.

  4. Admin tools

    A rich-text editor for lessons, management for games, markets and achievements, and a waitlist that fed the beta launch.

Detail

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) ** daysSinceSettled
Outcome

Where 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.