SakhiShield AI is a safety-focused assistant for rural and semi-urban women. It combines:
- VittSakhi chat guidance in simple Gujarati
- Document safety scan workflow (detect risk before sharing)
- Practical warnings for OTP, fraud links, and sensitive document sharing
- Frontend: React + Vite
- Backend: Node.js + Express
- AI Provider: Groq API (via backend proxy)
- Key routes:
POST /api/grokGET /(health check)
- User opens app and starts chat with VittSakhi.
- User asks a safety question (UPI, loan, OTP, document sharing).
- Chatbot responds in simple Gujarati with safe guidance.
- If user intent includes document sharing, app prompts upload flow.
- System scans for sensitive fields (Aadhaar/PAN/address/face) and computes risk.
- App shows result:
LOW / MEDIUM / HIGH / CRITICAL. - User can apply redaction and download safe version.
- App stores scan action in audit/history log.
Use this as your project management board.
- A1. Initialize React + Vite frontend
- A2. Add Express backend server (
server.js) - A3. Configure
.env.localloading for backend - A4. Add backend health endpoint (
GET /) - A5. Add
.env.local.examplewith required keys - A6. Add startup script that runs frontend + backend reliably on Windows
- B1. Build chat screen UI
- B2. Build message bubble / typing indicator components
- B3. Connect frontend to
POST /api/grok - B4. Add Gujarati system prompt for tone and safety behavior
- B5. Handle backend/API errors gracefully in UI
- B6. Add retry button for failed AI response
- B7. Add message persistence (local storage)
- C1. Define trigger rules for document sharing and OTP warnings
- C2. Add topic cards on home/chat start (
UPI,Loan,Scam,Document Safe?) - C3. Add suspicious link checker flow
- C4. Add contextual warning templates per scam type
- C5. Add quick education stories after high-risk detections
- D1. Add single image upload UI
- D2. Build backend upload endpoint
- D3. Add OCR extraction pipeline
- D4. Add PII detection rules (Aadhaar, PAN, phone, address, account)
- D5. Add face detection
- D6. Create risk scoring function
- D7. Return structured scan report JSON
- E1. Draw highlighted bounding boxes for sensitive regions
- E2. Add one-click blur/redact action
- E3. Add before/after preview
- E4. Add download safe image
- E5. Add watermark:
VittSakhi Verified - Safe to Share
- F1. Trigger scanner suggestion from chat intent (
document,Aadhaar,send) - F2. After scan, auto-generate Gujarati explanation in chat
- F3. Add scan result summary card inside chat
- F4. Add follow-up CTA:
Blur karo/Share nahi karvanu
- G1. Save scan metadata (timestamp, risk level, fields found)
- G2. Build history screen
- G3. Add filters: date, risk, document type
- G4. Add export/delete history actions
- H1. Add lint-clean baseline (
npm run lint) - H2. Add API contract docs for frontend-backend integration
- H3. Add error monitoring logs for backend failures
- H4. Add responsive polish for mobile-first UX
- H5. Prepare demo script and screenshots for judges
- Sprint 1: A + B (stable chatbot baseline)
- Sprint 2: C + F (strong safety guidance + chat intelligence)
- Sprint 3: D (scanner MVP)
- Sprint 4: E + G (redaction + history)
- Sprint 5: H (quality, polish, launch/demo)
Copy this every week.
- Goal:
- Tasks:
- [ ]
- [ ]
- [ ]
- Risks/Blockers:
- Owner:
- Deadline:
- Completed:
- Not Completed:
- Why blocked:
- Carry forward:
# frontend
npm run dev:frontend
# backend
npm run dev:backend
# lint
npm run lintBackend expected startup logs:
Loaded X env vars from .env.localBackend server running at http://localhost:5000Using Groq API with key: Loaded
- Add
.env.local.example - Add chat topic cards with guided flows
- Build scanner MVP endpoint + UI upload