Skip to content

NitiPath (नीति पथ) is a behavior-driven financial literacy simulator where users practice real-life financial decisions under uncertainty. Instead of quizzes, it uses lived scenarios, consequences, and reflection to build financial resilience across diverse Indian personas.

License

Notifications You must be signed in to change notification settings

VIKAS9793/NitiPath

Repository files navigation

NitiPath Banner

NitiPath (नीति पथ)

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.

Status License Tech Typescript Vite


🏆 NCFE Hackathon 2025

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.


🎯 Hackathon Challenge Compliance

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

✨ Key Features

Behavioral Decision Engine

  • 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

Bilingual Support (Hindi/English)

  • 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

Rural-First Design

  • 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

UX Polish

  • 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

🛠️ Technology Stack

  • 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

📊 Architecture

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

🚀 Getting Started

Prerequisites

  • Node.js >= 20.0.0
  • npm >= 10.0.0

Installation

git clone https://github.com/VIKAS9793/NitiPath.git
cd NitiPath
npm install

Run Locally

npm run dev
# Open http://localhost:5173

Testing

npm run type-check  # TypeScript check
npm run build       # Build verification
npm test            # Run tests

🎮 How It Works

1. Select Persona

Choose 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

2. Make Monthly Decisions

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

3. Experience Consequences

See immediate feedback on your choices:

  • Liquidity changes (cash flow impact)
  • Stress accumulation (mental burden)
  • Trust exposure (fraud risk)
  • Freedom constraints (future options limited)

4. View Final Outcome

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

🌐 Deployment

Live URL: https://nitipath.netlify.app
Build Command: npm run build
Publish Directory: dist
Environment: Client-side only (no server, no env vars needed)

Manual Deploy

  1. npm run build
  2. Upload dist/ folder to any static host
  3. Configure server for SPA routing (all routes → /index.html)

👥 Authorship

Product Lead
VIKAS SAHANI

Co-Assistant Engineers


📄 License

This project is licensed under the MIT License.


🙏 Acknowledgments

  • 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

About

NitiPath (नीति पथ) is a behavior-driven financial literacy simulator where users practice real-life financial decisions under uncertainty. Instead of quizzes, it uses lived scenarios, consequences, and reflection to build financial resilience across diverse Indian personas.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published