Practice financial decisions before they cost you.
The Problem: Financial failures rarely happen due to lack of knowledge—they happen at the moment of decision, under pressure and uncertainty.
Our Vision: To help people across Bharat develop sound financial judgment by practicing real-life decisions in a safe, risk-free simulation.
Participating in the NCFE Fintech Hackathon 2025
Mission: To help people across Bharat develop sound financial judgment by practicing real-life financial decisions in a safe, consequence-driven simulation environment.
| Requirement | Implementation | Status |
|---|---|---|
| Rule of Three (3+ financial themes) | ✅ Savings, Credit, Fraud Prevention, Digital Finance | ✅ Complete |
| Rural-Ready Technology | ✅ PWA, Offline-first, Voice support, Low-bandwidth | ✅ Complete |
| Behavior Over Theory | ✅ 100% meaningful consequences, Dynamic outcomes | ✅ Complete |
| User Groups (3+ personas) | ✅ Farmer, Woman, Young Adult | ✅ Complete |
- 100% Meaningful Consequences: All 108 decision options directly impact simulation outcomes
- Dynamic Narratives: Personalized outcome summaries reference specific months and decisions
- Adaptive Difficulty: Risky choices → Collapsed outcomes, Cautious → Stable outcomes
- State-Based Classification: Real-time tracking of liquidity, stress, trust exposure, future freedom
- Complete Translation: All 47 UI text keys translated (English + Hindi)
- Screen Reader Ready: Full ARIA support in both languages
- Voice Narration: Browser-based text-to-speech for all content
- Accessibility: All aria-labels bilingual, no hardcoded English
- Offline Capable: PWA with service workers (works without internet)
- Low Bandwidth: 310KB bundle (94KB gzipped), optimized for 3G
- Mobile Optimized: Responsive design works on low-end smartphones
- Progressive Enhancement: Graceful degradation on older devices
- Silent Hierarchy: Typography scaled for readability (18px/20px/22px)
- Visual Cues: Decision category icons (💰 Spending, 💳 Credit, 🛡️ Fraud, 🔍 Trust, 💵 Savings)
- Structured Narratives: Paragraph-based decision context
- Month Anchors: "Month 5 of 12" instead of progress bars
- Frontend: React 19.0 + TypeScript 5.9
- Build Tool: Vite 6.0
- PWA: vite-plugin-pwa v0.21
- State Management: React hooks (no external library)
- Styling: Vanilla CSS with CSS variables
- i18n: Custom translation system (47 keys × 2 languages = 94 translations)
- Voice: Web Speech API (browser TTS)
- Testing: Vitest 2.1
src/
├── engine/ # Decision engine logic
│ ├── RuleEngine.ts # Maps decisions → state changes (100% option coverage)
│ ├── OutcomeGenerator.ts # Classifies outcomes, generates dynamic narratives
│ ├── StateManager.ts # Tracks hidden state (liquidity, stress, etc.)
│ ├── ConsequenceResolver.ts # Resolves immediate consequences
│ ├── ShockInjector.ts # Injects shock events
│ └── ...
├── components/ # React UI components
│ ├── PersonaSelection.tsx
│ ├── MonthlySimulation.tsx
│ ├── DecisionCard.tsx
│ ├── ConsequenceCard.tsx
│ └── OutcomeView.tsx
├── content/ # JSON data files
│ ├── personas.json # 3 personas (Farmer, Woman, Young Adult) - EN + HI
│ ├── decisions.json # 108 decision options across 12 months - EN + HI
│ └── outcomes.json # Outcome narratives (4 classifications) - EN + HI
└── i18n/ # Bilingual support
├── translations.ts # 47 translation keys (EN + HI)
├── types.ts # TypeScript interface
└── LanguageContext.tsx # React context for language switching
- Node.js >= 20.0.0
- npm >= 10.0.0
git clone https://github.com/VIKAS9793/NitiPath.git
cd NitiPath
npm installnpm run dev
# Open http://localhost:5173npm run type-check # TypeScript check
npm run build # Build verification
npm test # Run testsChoose from 3 distinct financial contexts:
- Farmer (किसान): Agricultural cycles, weather shocks, informal credit
- Woman (महिला): Social pressures, limited agency, trust dynamics
- Young Adult (युवा): Digital temptations, FOMO, gig economy
Navigate 12 months of financial choices:
- Spending: Immediate gratification vs. saving
- Credit: Formal banks vs. informal lenders
- Fraud Prevention: Trust verification, document checks
- Savings: Emergency fund allocation
- Payment Decisions: Approval, timing, prioritization
See immediate feedback on your choices:
- Liquidity changes (cash flow impact)
- Stress accumulation (mental burden)
- Trust exposure (fraud risk)
- Freedom constraints (future options limited)
Personalized summary with:
- Classification: Stable / Stressed / Vulnerable / Collapsed
- Key Decisions: Top 4 impactful choices cited with months
- Behavioral Patterns: "You leaned toward immediate action..."
- Reflection Prompt: Non-judgmental guidance for next attempt
- Audio Overview: Listen to outcome summary in English or Hindi
Live URL: https://nitipath.netlify.app
Build Command: npm run build
Publish Directory: dist
Environment: Client-side only (no server, no env vars needed)
npm run build- Upload
dist/folder to any static host - Configure server for SPA routing (all routes →
/index.html)
Product Lead
VIKAS SAHANI
Co-Assistant Engineers
- 🤖 KIRO IDE AGENT (Spec Driven Development)
Defined specifications and architectural constraints. - 🧠 Google's Antigravity (Agentic AI)
Implemented logic, localization, and testing.
This project is licensed under the MIT License.
- NCFE Hackathon 2025 for the challenge
- RBI Financial Literacy resources for decision scenarios
- Rural India user research for persona development
NitiPath exists to build judgment, not knowledge.
Ready for deployment and user testing.
Built with ❤️ for financial inclusion in rural India
