Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KINGHACKS-26

Flare Kingston 🏛️

AI-Powered Civic Issue Reporting & Decision Support
KingHacks Project


🚦 Problem

Cities rely on residents to report issues like damaged roads, broken lighting, or safety hazards. Today, these reports are often reviewed manually, leading to slow response times, duplicated work, and inefficient use of municipal resources. City staff are overwhelmed with raw reports instead of actionable insights.


💡 Solution

Flare Kingston is an AI-powered, cloud-native platform built on AWS that transforms citizen reports into prioritized, decision-ready insights for city employees.

Residents submit a photo, description, and location. The system automatically:

  • Classifies the issue
  • Detects duplicate or related reports
  • Estimates urgency and risk
  • Generates plain-language summaries
  • Suggests responsible city departments

Instead of just collecting data, Flare Kingston helps the city decide what to do next.


🎯 Intended Impact

  • Faster response to safety-critical issues
  • Smarter prioritization of municipal resources
  • Reduced manual review and duplication
  • A scalable system that a real city like Kingston could deploy

This is not a student-only demo. It is a realistic civic tool.


🧠 What Makes It Unique

1. AI-Powered Triage & Prioritization

Every incoming report is analyzed using AI to:

  • Classify issue type (infrastructure, safety, accessibility, environment, etc.)
  • Assign urgency (high / medium / low)
  • Detect duplicates and cluster related incidents
  • Flag safety-critical cases for immediate attention

Example:
“3 reports of poor lighting + 1 fall incident near Princess St → high-risk pedestrian safety cluster”


2. Plain-English AI Explanations

City staff do not want raw data.
The system generates clear summaries explaining:

  • Why the issue matters
  • Who it affects
  • Potential risks
  • Suggested department to handle it

Example:
“This issue impacts pedestrian safety near a student-heavy area and may increase fall risk during winter months. Suggested department: Public Works.”


3. Community Insight Layer

Flare Kingston goes beyond individual reports and answers higher-level questions:

  • What patterns are emerging this week?
  • Which neighborhoods report the most issues?
  • Are students, seniors, or commuters most affected?

This turns reporting into decision intelligence.


4. Kingston-Specific Intelligence

Designed specifically for Kingston, not a generic city:

  • Flags proximity to schools, transit routes, and downtown core
  • Highlights seasonal risks like winter sidewalk hazards and early-sunset lighting issues
  • Supports local decision-making context

🧑‍💻 Example User Flow (Demo-Friendly)

Citizen

  1. Uploads a photo
  2. Adds a short description
  3. Submits location

AI System

  • Labels the issue
  • Assigns urgency
  • Detects duplicates
  • Generates a summary

City Dashboard

  • Ranked list of issues by priority
  • Clustered incidents and trends
  • Plain-language AI insights

This entire flow demos cleanly in under 2 minutes.


☁️ AWS Architecture

Core Services Used

  • Amazon S3 – Secure image uploads
  • AWS Lambda – Serverless image and text processing
  • Amazon Rekognition – Image labeling and hazard detection
  • AWS Bedrock – AI-powered classification, summarization, and prioritization
  • Amazon DynamoDB – NoSQL storage for issue tracking and metadata
  • Amazon SNS – Notifications for high-priority or safety-critical incidents
  • API Gateway – Backend API layer
  • Amplify or React Frontend – Citizen and city dashboards
flowchart LR
  U[Citizen] --> FE[Web App]
  FE --> APIG[API Gateway]

  APIG --> L1[Lambda Ingest Report]
  L1 --> S3[S3 Images]
  L1 --> DDB[DynamoDB Reports]

  S3 --> L2[Lambda Analyze and Triage]
  L2 --> RKG[Rekognition Image Labels]
  L2 --> BR[Bedrock AI Processing]
  L2 --> DDB
  L2 --> SNS[SNS Alerts]

  STAFF[City Staff] --> DASH[City Dashboard]
  DASH --> APIG
  APIG --> L3[Lambda Query APIs]
  L3 --> DDB
Loading

flowchart LR %% Frontend U[Citizen] --> FE[Web App (React / Amplify)] FE --> APIG[Amazon API Gateway]

%% Ingestion + Storage APIG --> L1[AWS Lambda - Ingest Report] L1 --> S3[(Amazon S3 - Report Images)] L1 --> DDB[(Amazon DynamoDB - Reports & Issues)]

%% Event-driven processing S3 -->|ObjectCreated Event| L2[AWS Lambda - Analyze & Triage]

%% AI/ML L2 --> RKG[Amazon Rekognition - Image Labels] L2 --> BR[AWS Bedrock - Classify, Summarize, Prioritize, Cluster]

%% Persistence + Alerts RKG --> L2 BR --> L2 L2 --> DDB L2 -->|High Priority| SNS[Amazon SNS - Alerts]

%% City dashboard U2[City Staff] --> DASH[City Dashboard] DASH --> APIG APIG --> L3[AWS Lambda - Query & Admin APIs] L3 --> DDB


🗄️ Database & Intelligence Layer

Each report stored in DynamoDB includes:

  • Location data
  • AI-generated category
  • Urgency score
  • Cluster ID (if related to other reports)
  • Status (new, in progress, resolved)

AI continuously:

  • Ranks reports dynamically by different priority rules
  • Clusters related reports into shared incidents
  • Enables multiple views (by urgency, location, category, time)

🧪 Skills Demonstrated

  • Event-driven cloud architecture
  • Serverless backend design
  • NoSQL data modeling
  • AI-powered image and text analysis
  • Scalable CRUD APIs
  • Real-world civic technology design

Quick Start

Prerequisites

  • AWS account with access to: S3, Lambda, DynamoDB, Rekognition, Bedrock, SNS, API Gateway
  • Node.js (for frontend)
  • AWS CLI configured (optional)

Environment Variables

Set these for the Lambda functions:

  • DDB_TABLE_NAME=FrontDeskKingston
  • S3_BUCKET_NAME=<your-bucket>
  • SNS_TOPIC_ARN=<your-topic-arn>
  • BEDROCK_MODEL_ID=<your-model-id>
  • AWS_REGION=<your-region>
  • Optional: URGENCY_THRESHOLD=85

Running the Frontend

cd frontend
npm install
npm run dev

Known Limitations

  • Clustering accuracy depends on location precision and report volume
  • Prioritization is heuristic and AI-assisted and should be calibrated with real municipal feedback
  • Authentication and abuse prevention such as rate limiting are not fully implemented in the hackathon version

🏆 Why Judges Love It

  • Real municipal impact
  • Clear and explainable architecture
  • Strong AWS service integration
  • Scales to thousands of reports instantly
  • Goes beyond reporting into AI-assisted decision support

Flare Kingston is not just a reporting app.
It is a Civic Copilot.

About

KingHacks 2026

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages