# Humrahi MVP * Feature #526: Project initial setup * User Story #527: project initial setup * Feature #533: Authentication Hum Rahi * EPIC #534: Epic: User Authentication - Mobile & OTP * User Story #535: User Story 1: Front-End - Mobile Entry UI & Validation * User Story #536: User Story 2: Back-End - OTP Generation & WhatsApp Integration * User Story #537: User Story 3: Front-End - Persistent Session (Remember Me) * User Story #538: Design requirement - Authentication flow - Hum rahi * EPIC #539: Epic: User Authentication - OTP Verification & Security * User Story #540: User Story HR-FE-01: 6-Digit OTP Input UI & Auto-Focus Logic * User Story #541: User Story HR-BE-01: OTP Validation API & Token Generation * User Story #542: User Story HR-BE-02: Security Lockout & Brute-Force Protection * User Story #543: User Story HR-FE-02: Security Alert & Lockout UI Handling * User Story #544: User Story HR-FE-03: Resend OTP Timer & Logic * User Story #545: User Story HR-FE-04: Navigation & Back-Flow Handling * User Story #546: user story front end - Post-Verification Scenarios * Task #547: Create OTP Request API Endpoint * Task #548: Implement OTP Generation Logic * Task #549: Implement Redis-Based OTP Storage * Task #550: Implement Kafka Event Publishing for OTP Delivery * Task #551: Implement Kafka Listener for WhatsApp Notifications * Task #552: Integrate Twilio WhatsApp Service for OTP Delivery * Task #553: Implement Phone Number Validation and Normalization * Task #554: Implement Error Handling for OTP Requests * Task #555: Implement OTP Expiry Management * Task #556: Document OTP API Endpoint in Swagger/OpenAPI * Task #557: Create OTP Verification API Endpoint * Task #558: Implement OTP Validation Logic * Task #559: Implement OTP Expiry Handling * User Story #560: Invalidate OTP After Successful Verification * User Story #561: Implement JWT Token Generation After Successful OTP Verification * User Story #562: Persist Refresh Token in Redis for Session Management * User Story #563: Implement Error Handling for OTP Verification Failures * Task #564: Document OTP Verification API in Swagger/OpenAPI * Feature #567: F2 Incident Reporting * EPIC #568: E2.1 Citizen Login & Session Management * EPIC #569: ## Epic: Citizen Login & Session Management * User Story #570: User Story 3 (BE & FE): JWT Session & 30-Day Silent Refresh * User Story #572: User Story 4 (BE & FE): Secure Logout & Session Clearance * User Story #573: User Story 5 (FE): Branded Account Lockout & Countdown Timer * User Story #574: Design Requirement - Branded Account Lockout & Countdown Timer * User Story #575: User Story 6 (BE): Support Ticket Routing & Rate Limit Bypass * User Story #576: User Story 7 (FE): Support Request Overlay/Form * User Story #577: User Story 8 (FE): Session Expiry Notification Screen * EPIC #578: Epic: E2.1 Photo Capture & Report Submission * User Story #579: User Story 1 (FE): High-Speed Camera Initiation * User Story #580: User Story 2 (FE): Image Capture & Preview * User Story #582: User Story 3 (FE): Incident Categorization & Text Details * User Story #583: User Story 4 (FE): Voice Note Recording * User Story #584: User Story 5 (BE/FE): Geo-Location & Manual Pinning * User Story #585: User Story 6 (BE/FE): Secure Report Submission & Confirmation * User Story #586: User Story 7 (BE): Incident Data Persistence & Management * EPIC #587: Epic: E2.2 AI-Powered Server Processing * User Story #588: User Story 1 (BE): Secure Data Ingestion & Media Orchestration * User Story #589: User Story 2 (BE/AI): Image-Based Incident Classification * User Story #590: User Story 2 (BE/AI): Image-Based Incident Classification * User Story #591: User Story 3 (BE/AI): Automatic Severity & Response Logic * User Story #592: User Story 4 (BE/AI): Voice Note Transcription & NLP Analysis * User Story #593: User Story 5 (BE): Geospatial Duplicate Detection * User Story #594: User Story 6 (BE/INFRA): Real-time Dispatch to Police Panel * EPIC #597: Epic: E2.3 — Citizen Report Status Tracking * User Story #598: US-025 · Citizen Views All Submitted Reports with Current Status * Task #600: Issue a refresh token and an access token * User Story #601: US-026 · Citizen Receives Push Notification on Report Status Change * Task #602: Create Multipart Incident API Endpoint * Task #603: Implement Local Media Storage Service * Task #604: Persist Incident and Media Metadata * Task #605: Trigger Asynchronous AI Processing via Kafka * User Story #606: US-027.1 · Status Timeline — Visual Design & Component Specification * User Story #607: US-027.2 · Status Timeline — Frontend Implementation on Report Detail Screen * Feature #610: F3 SOS Emergency * EPIC #611: E 3.1 SOS Activation & WebRTC Connection * User Story #612: US-028 SOS button requires a 5-second sustained hold to activate (countdown ring displayed) * User Story #613: US-028.FE.1 — SOS Button Hold-to-Activate Frontend Implementation * User Story #614: US-029.FE.1 — Early Release Cancellation — Frontend Behaviour * User Story #615: US-029.BE.1 — Early Release Cancellation — Backend Guarantee of No Side Effects * User Story #616: US-030.BE.1 — WebRTC Session Initiation & Signalling Server Logic * User Story #617: US-030.INFRA.1 — STUN/TURN Server Provisioning & WebRTC Network Infrastructure * User Story #618: US-031.FE.1 — Citizen Device GPS Capture & Continuous Location Transmission * User Story #619: US-031.BE.1 — Location Payload Ingestion, Persistence & Real-Time Broadcast to Police Panel * User Story #620: US-032.DESIGN.1 — High-Priority SOS Alert Card — Interaction & Visual Design Specification * User Story #621: US-032.FE.1 — SOS Alert Card Frontend Implementation on Police Panel * User Story #622: US-033.BE.1 — WebRTC Failure Detection & Phone Call Fallback Orchestration * User Story #623: US-033.INFRA.1 — Telephony Provider Integration & Outbound Call Infrastructure for SOS Fallback * Task #624: Integrate Computer Vision Model for Image Classification * Task #625: Implement AI Response Parsing Logic * Task #626: Implement Confidence Threshold Fallback Logic * Task #627: Trigger AI Processing After Media Upload * Task #628: Persist AI Classification Results * Task #629: Define Severity Enum and Mapping Rules * Task #630: Implement AI-Based Severity Mapping Logic * Task #631: Update Incident Entity with Severity and Action * User Story #632: Validate Rule Logic with Stakeholder Requirements * Task #633: Integrate Speech-to-Text Service * Task #634: Implement Kafka Listener for Audio Processing * Task #635: Persist Transcription in AIAnalysis Entity * Task #636: Implement Keyword Extraction Logic * Task #637: Implement Error Handling for Audio Processing Failures * Task #638: Implement Distance Calculation Logic * Task #639: Implement Time Window Filtering * Task #640: Implement Duplicate Detection Query * Task #641: Persist Duplicate Flag in Incident Entity * Task #642: Optimize Spatial Query Performance * Sub Task #643: Roman Script Convert English Text