๐ก๏ธ AARAKSHAKA โ Crime Intelligence Platform
AI-driven crime intelligence platform for Karnataka State Police
Transforms raw FIR data (~433K records across 27 relational tables ) into actionable, visual, and bilingual insights โ powered by Zoho Catalyst.
Live Demo: aarakshaka-kar.onslate.in
Karnataka State Police manages crime data across 30 districts and 240 police stations . Today, that data lives in fragmented spreadsheets, disconnected databases, and manual SCRB reports. Officers cannot:
See crime patterns across districts in real time
Identify repeat offenders and their criminal networks
Get AI-powered explanations for why crimes spike in certain areas
Access insights in Kannada for field-level officers
Correlate crime with socio-economic factors like literacy and urbanization
The result: reactive policing . Crimes happen, reports get filed, and patterns are only visible weeks later โ if at all.
AARAKSHAKA (Protector) flips this to proactive, intelligence-driven policing . It takes raw FIR data and transforms it into visual, interactive, and AI-generated insights that any officer โ from a constable in Raichur to the DGP in Bangalore โ can understand and act on.
User
Benefit
๐ Constable / IO
Instant hotspot maps, case status, offender profiles
๐ Station SHO
Resource allocation, crime trend awareness
๐๏ธ SP / DCP
District comparison, resource allocation, strategy
๐๏ธ DGP / HQ
State-wide overview, policy decisions, resource planning
๐พ Rural Officers
Full Kannada support โ no language barrier
๐ธ Application Screenshots
Desktop (EN)
Desktop (KN)
Desktop (EN)
Desktop (EN)
Desktop (EN)
District Panel
Desktop (EN)
Desktop (EN)
Person Detail
Desktop (EN)
Risk Map Popup
Scrolled (Predictions)
Scrolled (AI Generated Insights)
AI Insights (Kannada)
Login
Dashboard
Crime Map
Kannada
๐๏ธ Dashboard & Analytics
๐ KPI Cards โ Total cases, active investigations, chargesheet rate, conviction rate
๐ Monthly Trends โ Year-over-year comparison with multi-year overlay
๐บ๏ธ District Breakdown โ Cases by district with interactive filtering
๐ฅง Crime Categories โ Theft, assault, murder, cybercrime breakdown
๐ฉ Case Status โ Under investigation vs. chargesheeted vs. closed
๐
Day-of-Week โ Which days see the most crime
โ๏ธ Gravity Chart โ Serious vs. non-serious crime ratio over time
๐ Socio-Economic Correlation โ Census 2011 data (literacy, urbanization, sex ratio) vs. crime rates
๐บ๏ธ Interactive Crime Map
๐บ๏ธ 30 District Polygons โ Karnataka GeoJSON boundaries
๐ Crime Markers โ Individual FIR locations with lat/lng coordinates
๐ฏ Risk-Level Color Coding โ Green (low) โ Yellow (moderate) โ Red (high)
๐ฏ District Filtering โ Click a district to zoom and filter all data
๐ Point-in-Polygon Resolution โ Automatic district assignment from coordinates
๐ธ๏ธ Criminal Network Graph (3D)
๐ธ๏ธ 3D Force-Directed Graph โ Three.js + react-force-graph-3d
๐ฎ Orbit Controls โ Rotate, zoom, pan the 3D graph
๐ท๏ธ 3D Text Labels โ Names rendered directly on nodes
๐ฏ Focus-on-Node โ Click any node to center the graph on that person
๐ฅ Offender Sidebar โ Ranked list of most frequent accused
๐ค Person Detail Panel โ Cases, charges, associates, timeline
๐ฎ Predictions & Risk Scoring
๐ 30-Day Forecast โ Weighted moving average with seasonal multipliers
๐ฏ District Risk Scores โ Composite: Volume (40%) + Severity (30%) + Trend (30%)
๐จ Anomaly Detection โ Z-score based alerts for unusual spikes
๐ Risk Explanation โ AI-generated narrative with actionable recommendations
๐ง Natural Language Analysis โ GLM-4.7-Flash (30B MoE) via QuickML
๐ฃ๏ธ Bilingual Output โ English + Kannada
๐ Crime Insights โ "Violent crimes in Bangalore Urban spiked 42% in December..."
๐ Risk Explanations โ "Raichur has high risk due to 60% increase in theft..."
โก Statistical Fallback โ Data-driven insights when LLM times out
๐ 425+ Translation Keys per language
๐ Language Toggle โ EN | เฒเฒจเณเฒจเฒก in header
๐พ localStorage Persistence โ Language choice survives page refresh
๐ Fallback โ Missing keys fall back to English
flowchart TD
subgraph Client["Frontend โ React 18 + Vite + Tailwind CSS"]
direction LR
A1["Dashboard<br/>Recharts"]
A2["Crime Map<br/>Leaflet"]
A3["3D Network<br/>Three.js"]
A4["Predictions<br/>Forecast + Anomaly"]
A5["PDF Reports<br/>SmartBrowz"]
A6["EN / KN<br/>i18next"]
end
subgraph API["Backend โ Python 3.13 + Flask ยท 28 Endpoints"]
direction TB
B1["REST API Layer"]
B2["In-Memory Cache<br/>2hr TTL"]
B3["ZCQL Query Builder"]
end
subgraph Platform["Zoho Catalyst Platform"]
direction TB
C1["Functions<br/>Advanced I/O"]
C2["Data Store<br/>27 Tables"]
C3["Cache"]
C4["Connections<br/>OAuth 2.0"]
C5["QuickML<br/>GLM-4.7-Flash"]
C6["SmartBrowz<br/>PDF Rendering"]
C7["Slate<br/>Static Hosting"]
end
A1 & A2 & A3 & A4 & A5 & A6 -->|"REST API"| B1
B1 --> B2 --> B3 --> C2
B1 -->|"LLM Insights"| C4 --> C5
B1 -->|"PDF Export"| C6
C7 -.->|"hosts"| Client
Loading
Metric
Value
Total records
~433,000
Tables
27
Districts
30
Police stations
240
Cases
50,000
Accused persons
87,102
Victims
62,495
Complainants
67,433
Employees
2,000
Translation keys
425+ per language
Source
Data
Synthetic Data Generator
27 relational tables
Census 2011
Literacy, urbanization, sex ratio, population
QuickML GLM-4.7-Flash
LLM-powered natural language insights
โ๏ธ Zoho Catalyst Platform
Service
Purpose
Functions (Advanced I/O)
Entire backend โ Python 3.13, 28 endpoints
Data Store (ZCQL)
All queries against 27 tables
Cache
2hr TTL on all endpoints
Connections
OAuth for QuickML LLM API
SmartBrowz
Server-side PDF report generation
Slate
Frontend static hosting
API Gateway
Clean /api/* routing, production-grade API management
๐ค Machine Learning & AI
Tech
Purpose
GLM-4.7-Flash (30B MoE)
LLM-powered natural language insights
Statistical Engine
Fallback when LLM times out
Tech
Version
Python
3.13
Flask
3.0
Zoho Catalyst SDK
Latest
Tech
Version
React
18.3.1
Vite
5.3
Tailwind CSS
3.4
Recharts
3.9
Leaflet + React-Leaflet
1.9 / 4.2
react-force-graph-3d + Three.js
1.29 / Latest
React Router DOM
7.18
i18next + react-i18next
26.3 / 17.0
๐ API Endpoints (29 Routes)
Category
Endpoint
Description
๐ฅ Health
/api/health
Health check
๐ Dashboard
/api/dashboard/kpis
Key performance indicators
/api/dashboard/by-district
Cases grouped by district
/api/dashboard/by-category
Cases grouped by crime category
/api/dashboard/by-status
Cases grouped by status
๐บ๏ธ Map
/api/map/crimes
Crime locations with lat/lng
/api/map/hotspots
District-level hotspots
๐ Trends
/api/trends/monthly
Monthly crime counts
/api/trends/hourly
Hourly distribution
/api/trends/dayofweek
Day-of-week distribution
/api/trends/gravity
Gravity/offence breakdown
๐ธ๏ธ Network
/api/network/graph
3D graph data (nodes + edges)
/api/network/offenders
Ranked offender list
/api/network/person
Person detail profile
/api/network/associations
Person associations
/api/network/statistics
Network statistics
๐ฎ Predictions
/api/predictions/forecast
30-day forecast
/api/predictions/risk
District risk scores
/api/predictions/anomalies
Anomaly detection
๐ฎ Operational
/api/operational/io-performance
Investigation officer stats
/api/ops/ranks
Police rank list for IO Performance filter
/api/operational/victim-profile
Victim demographics
/api/operational/victim-gender-timeline
Gender over time
/api/operational/accused-profile
Accused age distribution
/api/operational/seasonal
Seasonal crime patterns
/api/operational/socioeconomic
Census 2011 correlation
๐ค AI
/api/ai/insights
LLM-generated crime analysis
/api/ai/risk-explanation
AI risk narrative
๐ Reports
/api/reports/pdf
PDF report generation
๐ Scalability & Innovation
Innovation
Description
๐ Zero Infrastructure Cost
Runs entirely on Zoho Catalyst free tier
๐ซ Zero GPU Dependency
Catalyst handles compute; BigQuery-style parallelism
๐ก๏ธ Statistical Fallback
LLM timeout โ data-driven insights always available
๐ Bilingual AI
All insights in English + Kannada
๐ SQL Injection Protection
All date parameters validated
๐ฏ Filter-Aware Handlers
Every endpoint respects district/crime/date filters
โก 2hr Cache TTL
Fast repeated loads, reduced latency
๐ฑ Responsive Design
Desktop, tablet, and mobile
๐ฑ Mobile Application โ Native iOS/Android app
๐ Real-Time Alerts โ Push notifications for anomalies
๐ Historical Trend Analytics โ Multi-year deep dive
๐ง Vertex AI Integration โ Advanced ML models
๐ก IoT Sensor Support โ CCTV, ANPR integration
โก Real-Time Streaming โ Live data ingestion
๐ User Authentication โ Role-based access control
๐ Multi-Language AI โ Tamil, Telugu, Hindi support
cd aarakshaka-ui
npm install
npm run dev
Runs on http://localhost:5173. Vite proxy routes /api/* to the Catalyst backend.
npm install -g zcatalyst-cli
catalyst login
catalyst project:use < your-project-id>
catalyst deploy --only functions:aarakshaka_ksp_2026_function
Datathon/
โ
โโโ aarakshaka-ui/ # React frontend
โ โโโ src/
โ โ โโโ components/ # UI components (ai, common, dashboard, map, network, operational, predictions, reports, trends)
โ โ โโโ pages/ # Page components (Dashboard, Map, Network, Offenders, Predictions, Login)
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ api/ # API client
โ โ โโโ i18n/ # i18next config
โ โ โโโ utils/ # Formatters, colors, district names
โ โโโ public/
โ โโโ locales/ # EN + KN translation files (425+ keys each)
โ โโโ karnataka-districts.geojson
โ
โโโ functions/ # Zoho Catalyst backend
โ โโโ aarakshaka_ksp_2026_function/
โ โโโ handlers.py # All 29 API handlers (~2100 lines)
โ โโโ main.py # Route dispatch + CORS
โ โโโ requirements.txt # Python dependencies
โ
โโโ screenshots/ # 19 PNG screenshots (login, dashboard, crime map, network, offenders, predictions, tablet views)
โโโ catalyst.json # Catalyst project config
โโโ catalyst-user-rules.json # API Gateway routing rules
โโโ .gitignore
Competition submission โ Karnataka State Police Datathon 2026 .
Built for Karnataka State Police | Powered by Zoho Catalyst | AI by GLM-4.7-Flash