Original Idea
Kid Allowance Tracker A mobile app that gamifies allowance for kids with chores, savings goals, and parent-approved spending categories.
Product Requirements Document (PRD): PennyPals
1. Executive Summary
PennyPals is a mobile-first financial literacy platform designed for families. It gamifies the "work-reward" cycle by allowing parents to automate allowances and assign chores, while empowering children to track earnings, set savings goals, and learn the value of money through a secure, virtual ledger. Unlike simple spreadsheets, PennyPals uses high-fidelity gamification and parent-approved workflows to turn financial management into a collaborative family game.
2. Problem Statement
Traditional allowance management is often manual, inconsistent, and invisible to children. In an increasingly cashless society, kids struggle to grasp the value of digital money. Parents lack a centralized tool to track chores and verify work, while children miss out on learning long-term saving habits and the psychological reward of compounding progress.
3. Goals & Success Metrics
- Educational Impact: 70% of active child users reach at least one "Savings Goal" within the first 3 months.
- Engagement: Achieve an average of 4 chore completions per child per week.
- Retention: 60% of families continue using the app after the first 30 days.
- Trust: 100% compliance with 2026 COPPA Rule Amendments.
4. User Personas
Sarah (The Busy Parent)
- Profile: 38 years old, two kids (8 and 12).
- Needs: To stop "nagging" about chores and have a clear record of what she owes her kids without using physical cash.
- Goal: Teach her children responsibility and the relationship between work and pay.
Leo (The Goal-Oriented Child)
- Profile: 9 years old.
- Needs: Wants a $60 video game.
- Goal: To see his progress visually and feel a sense of achievement through XP and badges when he helps around the house.
5. User Stories
- As a Parent, I want to set up recurring chores so that I don't have to manually assign daily tasks like "Make the Bed."
- As a Child, I want to upload a photo of my finished chore so that I can prove I did it and get paid faster.
- As a Parent, I want to use FaceID to approve a payout so that the process is secure but friction-free.
- As a Child, I want to see a progress ring for my "New Bike" goal so that I stay motivated to save.
- As a Teenager, I want to earn "interest" on my savings so that I understand how money grows over time.
6. Functional Requirements
Family Management
- Shared Dashboard: Unified view of family chores and balances.
- Role-Based Access: Parents have full administrative rights; children have restricted views.
Chore & Payout System
- Photo Proof: Mandatory image upload for specific high-value chores.
- Automated Scheduling: Set chores to repeat daily, weekly, or monthly.
- Approval Workflow: Parent-side notification to "Approve" or "Reject" with comments.
Virtual Ledger & Savings
- Double-Entry Ledger: Virtual tracking of funds (no real-world money movement in V1).
- Savings Buckets: Categorize funds into "Spend," "Save," and "Give."
- Interest Simulator: Parent-set interest rates to teach compounding.
Gamification
- XP System: Earn Experience Points for consistent chore completion.
- Badge Engine: Unlockable visual badges for milestones (e.g., "10-Day Streak," "Super Saver").
7. Technical Requirements
Tech Stack (2026 Standards)
- Frontend: React Native 0.83 (New Architecture/Fabric) using Expo SDK 55.
- Backend: Node.js v24.x (LTS) with Express v5.2.x and TypeScript v5.9.x.
- Database: PostgreSQL (v17+) with an immutable ledger schema.
- Real-time/Offline: PowerSync for local-first SQLite sync to Postgres.
- Authentication: Firebase Auth with Custom Claims for role-based security.
Integrations
- Storage: AWS S3 for chore proof image hosting.
- Notifications: Firebase Cloud Messaging (FCM) for actionable push notifications.
- Haptics:
expo-hapticsfor tactile feedback on task completion.
8. Data Model
User Entity
id(UUID),family_id(FK),role(parent|child),username,total_xp,avatar_url.
Chore Entity
id(UUID),title,description,reward_amount(Numeric),status(pending|submitted|approved),assigned_to(FK),proof_image_url.
Transaction Ledger (Double-Entry)
id(UUID),timestamp,description.- Entries Table:
transaction_id(FK),account_id(FK),amount(Numeric - positive for credit, negative for debit). Sum must always be zero.
SavingsGoal Entity
id(UUID),child_id(FK),target_amount,current_balance,is_completed(Boolean).
9. API Specification (Sample Endpoints)
POST /v1/chores
- Description: Parent creates a new chore.
- Auth: Requires
parentcustom claim. - Payload:
{ title: string, value: number, assignedTo: string }
PATCH /v1/chores/{id}/submit
- Description: Child submits chore for review.
- Payload:
{ proofImageBase64: string }
POST /v1/approve-payout
- Description: Parent approves chore and triggers ledger entry.
- Security: Requires Biometric/PIN validation on the client.
10. UI/UX Requirements
- Parental Approval UI: Use "Swipe-to-Approve" gesture to prevent accidental payouts.
- Child Gamification: Use
react-native-circular-progress-indicatorfor XP rings andreact-native-confetti-cannonfor goal completions. - Optimistic UI: When a child hits "Submit," the chore must immediately move to "Pending Review" locally using React 19's
useOptimistichook. - Image Transitions: Use
expo-imagewith blurhash for smooth loading of chore proof.
11. Non-Functional Requirements
- Security: All financial adjustments require a 6-digit Parent PIN or Biometrics.
- Compliance: Must implement the "Text Plus" Verifiable Parental Consent (VPC) as per 2026 COPPA updates.
- Performance: App must be functional offline (chore checklists) with background sync.
- Availability: 99.9% uptime for the API to ensure "instant" reward feelings.
12. Out of Scope
- Physical debit card issuance (targeted for V2).
- Direct bank account integration for kids (virtual ledger only).
- In-app marketplace for purchasing real goods.
13. Risks & Mitigations
- Risk: Children bypassing parental approval.
- Mitigation: Use Firebase Custom Claims and Firestore Security Rules to block any
updatetostatus: approvedunless the user has therole: parentclaim.
- Mitigation: Use Firebase Custom Claims and Firestore Security Rules to block any
- Risk: Data loss in low-connectivity areas.
- Mitigation: Use PowerSync/SQLite for a local-first architecture; data syncs when the 5G/Wi-Fi connection is restored.
14. Implementation Tasks
Phase 1: Project Setup & Auth
- [ ] Initialize Expo SDK 55 project with TypeScript 5.9.x.
- [ ] Set up Node.js v24 LTS backend with Express 5.2.
- [ ] Implement Firebase Auth with a Cloud Function to assign
parent/childcustom claims. - [ ] Configure PostgreSQL with
pgcryptofor ledger hashing.
Phase 2: Core Ledger & Chores
- [ ] Design double-entry ledger schema (Transactions & Entries).
- [ ] Build Chore Management API (CRUD operations).
- [ ] Implement image upload pipeline to S3 for chore proof.
- [ ] Create Firestore Security Rules to enforce role-based access.
Phase 3: Child Experience (Gamification)
- [ ] Build the "Kid Dashboard" with XP progress rings using
react-native-circular-progress-indicator. - [ ] Implement
useOptimisticfor instant chore completion feedback. - [ ] Integrate
react-native-confetti-cannonfor milestone celebrations. - [ ] Set up local-first sync using PowerSync or RxDB.
Phase 4: Parent Experience (Approval)
- [ ] Design the "Parental PIN" entry component with
expo-haptics. - [ ] Implement "Swipe-to-Approve" UI pattern for chore verification.
- [ ] Build actionable push notifications for chore approval requests.
- [ ] Create the Savings Goal "Interest Calculator" logic.
Phase 5: Compliance & Launch
- [ ] Implement the "Text Plus" VPC flow for COPPA 2026 compliance.
- [ ] Audit data retention policies and implement auto-deletion triggers.
- [ ] Conduct end-to-end testing of offline-to-online sync.
- [ ] Deploy backend to AWS Elastic Beanstalk (Node 24 environment).