Back to all projects
GenAIRAGGovernment AIFull-Stack AILive

NPA Audio Complaint Tracking Platform

Real-time multilingual audio complaint processing system for the National Police Academy - transcribes, summarizes, extracts legal sections, and auto-fills FIR forms.

Private repository

Project Snapshot

Role

Lead Developer

Organization

National Police Academy (NPA), India

Timeline

2025

Status

Live

Team Size

4 (including 3 junior developers)

Deployment

Production - deployed on Bhashini AI Cloud Infrastructure

Tech Stack

PythonDjangoReact.jsWebSocketsBhashini AI CloudGeminiFAISSSentence-TransformersRAGNLP

Impact & Results

  • Deployed at NPA - actively used for training police officers
  • Handles concurrent real-world complaint sessions
  • Supports 32 Indian languages
  • Auto-maps BNS legal sections via RAG pipeline

A production AI platform built for the National Police Academy (NPA) that processes police complaints in any of 32 Indian languages. Audio streams in via WebSocket, gets transcribed, summarized, and mapped to applicable legal sections. The result auto-populates an FIR form, streamlining the initial complaint processing workflow.

The Problem

The National Police Academy needed a platform to: - Take live audio recordings of police complaints in any Indian language. - Transcribe speech to text in real-time. - Process the complaint: summarize, translate, and extract key entities. - Automatically map applicable BNS (Bharatiya Nyaya Sanhita) legal sections to the complaint. - Auto-fill FIR forms with extracted information.

The Solution

An end-to-end web platform featuring WebSocket-based audio streaming, language auto-detection, and a custom RAG (Retrieval-Augmented Generation) pipeline for semantic legal section matching. The system bridges raw multilingual audio inputs to structured, legally contextualized FIR forms.

Architecture & Implementation

Audio Streaming: Used WebSocket streaming (small audio chunks) instead of single full-audio API calls to eliminate input latency.

Speech-to-Text: Language auto-detection and transcription via Bhashini's speech-to-text APIs.

Information Extraction: Gemini (LLM) handles summary generation and key information extraction (entities, involved parties, incident details).

Legal Mapping: A custom RAG pipeline uses sentence-transformers embeddings and a FAISS vector index of all BNS sections + scenario descriptions for semantic search.

Data Used: Audio complaints in 32 Indian languages, BNS (Bharatiya Nyaya Sanhita) legal sections and scenario descriptions.

Tech Stack: Python, Django, React.js, WebSockets, Bhashini AI Cloud, Gemini, FAISS, Sentence-Transformers, RAG, NLP.

Challenges & Solutions

High audio input latency: Switched from single request to WebSocket streaming with small audio chunks.

Incorrect language detection: Added a confidence-threshold retry mechanism and fallback.

Incorrect BNS section mapping: Improved embedding model and expanded the BNS dataset with rich scenario descriptions.

Key Takeaways

  • Mastered real-time WebSocket streaming architectures.

  • Gained deep expertise in building reliable custom RAG pipelines for domain-specific legal data.

  • Learned to handle scalable multilingual AI deployments.

Back to all projects