ProjectOverview
Developed a data-driven traffic complaint management system for Chandler Police Department to streamline the intake, analysis, and visualization of traffic-related issues reported by citizens and internal staff. The solution includes a unified web-based form for standardized data collection and a dynamic dashboard for pattern recognition and case tracking.
TheProblem
Traffic violations are the most common complaint received by the Chandler Police Department, but reports come from various sources, making it difficult to track patterns effectively. Chandler PD Leadership intend to create a standardized form for community members and internal use, allowing all complaints, whether submitted online or via phone, to be consolidated into a single dashboard for better analysis and decision-making.
Solution
The solution had three major components:
A responsive public-facing complaint form, allowing Chandler residents to report traffic complaints quickly and accurately from desktop or mobile devices.
An internal complaints portal and dashboard, enabling Chandler PD staff and admins to view, filter, manage, and respond to reports using tools like heatmaps, status updates, and email forwarding.
An AI ChatBot designed to assist Chandler PD staff by providing a quick and intuitive way to access information and streamline their workflow.
The portal features role-based access: officers can view and filter complaints, while admin users can update statuses, add notes, and trigger email responses. A chatbot interface enables natural language queries—such as “Show me complaints from beats 2 and 4 this week”—to speed up internal workflows.
TechStack
Frontend (Complaints Form): React.js, Material UI, React Hook Form, CSS/HTML/JSX, React Toastify
Frontend (Complaints Portal): React.js, Material UI, React Router, Zustand, ArcGIS, Amazon Lex
AWS/Backend Services: AWS Amplify, API Gateway, Lambda, DynamoDB, Amazon Lex, Amazon SES
The Chandler PD system architecture begins with a React-based web frontend, where users submit traffic complaints. These submissions, after optional authentication, are routed to the backend via API Gateway. API Gateway triggers Lambda functions for various operations—storing complaints (CRUD), retrieving beat information, and interfacing with an external API. All data is securely stored in DynamoDB. The dashboard retrieves this data via dedicated Lambda queries. A Lex chatbot provides natural language access to complaint data, which can also trigger email notifications via a Lambda-integrated SES flow. This ensures officers receive filtered, real-time updates directly in their inboxes.
WhatI Built
What I built
Role-based dashboard with filters, heatmaps, and complaint status updates.
Heatmap integration using GeoJSON and ArcGIS to visualize high-violation zones and overlay beat maps.
Form submission system (public and internal) built with React.js, integrated with AWS Lambda and API Gateway for backend processing.
Natural Language Query capability powered by Amazon LEX to allow intuitive data exploration.
Email forwarding system with domain-level validation for secure sharing with official Chandler PD addresses.
Client Visits

Industry Impact
This solution equips Chandler PD with an automated, centralized platform to manage traffic complaints more efficiently. By visualizing violation trends through heatmaps and enabling real-time insights via chatbot queries, the department can now better allocate resources, track performance, and enhance transparency with the community. The tool simplifies both citizen reporting and internal response—transforming how the department addresses its top public concern.
Potential for Wider Application
Because the Chandler PD solution is open source, it’s not a one-off prototype tied to a single city. It’s a reusable blueprint that other police departments can adopt and customize without starting from scratch or paying vendor-level costs. The core value is the same everywhere: standardize complaint intake, centralize triage, and visualize hotspots so leadership can allocate enforcement and community outreach based on patterns, not anecdotes.
Why it translates well to other departments
The workflow is universal: intake → review → prioritize → follow up → close. Any agency handling traffic complaints, nuisance reports, or non-emergency issues can reuse the same lifecycle.
Configurable “policy layer”: statuses, beat/precinct mapping, role permissions, and routing rules can be tailored per department without changing the overall architecture.
GIS plug-in approach: if a city uses different mapping sources (ArcGIS, local GIS services, or alternative GeoJSON layers), the heatmap module can swap data sources while keeping the same UI/UX pattern.
Chat-based access scales adoption: natural language query is especially useful for non-technical users (command staff, analysts, traffic units) who want answers fast without learning complex filters.
Results
Real-time processing UI
Built a React UI that shows live pipeline status with dynamic progress bars powered by WebSocket messages and state-driven re-renders.
Insight overlay for clustered sentiment + themes
Implemented “Show Insights” flows that fetch results via GET API and render them in an InsightPanel overlay, including computed overall sentiment from cluster outputs.
Production-ready frontend architecture + shared state
Used React hooks for real-time updates and React Context for shared global state like document lists and connection status.
ClientFeedback
“The collaboration between the AWS/ASU CIC, the City of Chandler GIS team, and the Chandler Police Department’s Traffic Unit, Crime Analysis and IT groups was outstanding. We were fortunate to have this project accepted, outsourcing the work to a vendor would have cost hundreds of thousands of dollars. The team takes pride in knowing that police agencies across the country will benefit from this open-source solution.”