Freelance › Projects › Web development › Citizen Request Portal for a City (311-Style Issue Reporting)
Citizen Request Portal for a City (311-Style Issue Reporting)

Employer
Dmytro
Project parameters
Type of cooperationOne-time project
SectionWeb development
Prepaymentwithout prepayment
Payment methodsCash, Bank transfer
Acceptance of requestsfrom today, 05:43 until Sep 18, 2026
Project description
We are a municipal administration and today we take citizen complaints almost entirely by phone. Residents call about potholes, broken street lighting, overflowing waste bins, damaged benches, illegal dumping and flooded sidewalks, and our operators write everything down by hand. Nothing is linked to a place on the map, nothing has a clear owner, and we cannot tell a caller when their problem will be fixed. We need a public web portal where a resident can open a form, describe the issue in a few words, attach one or two photos and mark the exact spot on a map, and immediately receive a request number they can follow.
Once a request comes in, it must be routed automatically to the right department depending on category and district, so a lighting fault goes to the utilities team and illegal dumping goes to sanitation without a person re-typing anything. Each request needs a lifecycle we can see: new, accepted, in progress, on hold, resolved, rejected, with the reason and a timestamp for every change. Staff should work through a simple internal queue, reassign between departments, leave internal notes and post a public reply that the resident sees. We also want a public map and dashboard that shows open and resolved issues across the city, average resolution time by category, and the current load per district, so both citizens and council can see that things are actually moving.
The interface has to be genuinely easy for older residents on a phone, load quickly, and work without registration for a first report while still preventing spam and duplicates near the same location. Please describe your proposed approach, the stack, and a realistic timeline.
— Public report form: category, description, photos, map pin, contact
— Automatic routing by category and district to responsible departments
— Status lifecycle with history, internal notes and public replies
— Citizen tracking by request number, email or SMS updates
— Public map and dashboard: open, resolved, average resolution time
Once a request comes in, it must be routed automatically to the right department depending on category and district, so a lighting fault goes to the utilities team and illegal dumping goes to sanitation without a person re-typing anything. Each request needs a lifecycle we can see: new, accepted, in progress, on hold, resolved, rejected, with the reason and a timestamp for every change. Staff should work through a simple internal queue, reassign between departments, leave internal notes and post a public reply that the resident sees. We also want a public map and dashboard that shows open and resolved issues across the city, average resolution time by category, and the current load per district, so both citizens and council can see that things are actually moving.
The interface has to be genuinely easy for older residents on a phone, load quickly, and work without registration for a first report while still preventing spam and duplicates near the same location. Please describe your proposed approach, the stack, and a realistic timeline.
— Public report form: category, description, photos, map pin, contact
— Automatic routing by category and district to responsible departments
— Status lifecycle with history, internal notes and public replies
— Citizen tracking by request number, email or SMS updates
— Public map and dashboard: open, resolved, average resolution time