How Koodal works
Koodal has two apps that share one live timeline. Citizens use the Koodal app to report and back issues. Department staff use the Koodal Console to decide, assign and fix. Nothing is closed until the people who reported it confirm the fix.
The life of an issue
Report. A citizen takes a photo, picks a category and a location. Koodal checks for a similar issue nearby first, so the same pothole is not reported ten times.
Support. Neighbours back it with a tap. Each supporter raises community confidence.
Official case. When support reaches 5 supporters or 80% confidence (your admin can change both), the issue becomes an official case with a case ID and lands on the department’s desk.
Fix. Staff approve it, assign a team, start work and mark it fixed with an after photo. Every step appears on the public timeline, live.
Confirm. Citizens compare before and after photos. Enough confirmations close the case; three “not yet” answers reopen it.
Signing in
Citizens sign in with a phone number and a one-time code. Staff sign in to the Console with their employee ID, password and a code.
Citizens · Koodal app
Open the app and tap Log in, then enter your phone number. While the demo is running, test accounts are listed below the field: tap one to fill it in.
Enter your number or tap a test account Tap Send OTP.
Send OTP Enter the 6-digit code and tap Verify. If you have signed in before, you go straight to Nearby.
The code screen Nearby: issues around you
Staff · Koodal Console
Go to Koodal Console and enter your employee ID and password (or tap a test account).
Console sign-in Tap Continue.
Continue to the code step Enter the one-time code and tap Verify & continue.
The code screen You land on Home: what needs your decision, overdue work and hotspots. Staff see only their own departments; admins see everything.
Console home
For citizens
Report what is broken, back what your neighbours reported, and confirm when it is fixed.
Create your account
The first time you sign in, Koodal verifies that you are a resident and sets up your profile. It takes about a minute.
Swipe through the three intro screens with Next, then tap Get started.
Intro Get started Enter your phone number, tap Send OTP, then Verify.
Your phone number Verify your identity with Aadhaar e-KYC. Officials only see a verified badge, never your Aadhaar number.
Aadhaar e-KYC Verify identity Add your name and your area, then tap Continue. You can post anonymously by default if you prefer.
Your profile Allow location so Koodal can show issues around you. You are in.
Allow location Your Nearby feed
Report an issue
Tap the camera button at the bottom of the screen.
The camera button Take a photo, or tap the gallery icon to pick one.
Capture or choose a photo Give it a title, pick a category and describe what is wrong. Your GPS location is filled in; tap it to change.
Title, category and description Scroll down and drag the arrow to the right to report.
Slide to report Koodal analyses the report: category, severity and the department it goes to. If nothing similar is nearby, tap Post as new issue.
Analysing No similar issue nearby Your issue is live, with you as the first supporter. Share it with neighbours so they can back it.
Your new issue
When a similar issue already exists
If someone nearby has already reported the same problem, Koodal suggests joining it instead of creating a duplicate. Joining counts as your support.
Report as usual. The analysis screen shows 1 match nearby; tap it.
A pothole report Match found Check the match and tap Join. Choose Mine is different if it is a separate problem.
Join the existing issue Your photo is added to the existing issue and you are counted as a supporter.
Joined as a supporter
Support an issue
Open any issue and press and hold “Hold to support” until the button fills. What happens next depends on how close it is to the threshold.
Your support makes it official. An issue one supporter short becomes an official case the moment you support it, and you see the celebration screen.
4 supporters, one short Now an official case Confidence can get it there too. An issue with strong evidence can cross on confidence (80%) before it reaches 5 supporters.
74% confidence 82%: official case Still gathering support. If more backing is needed, your support is counted and the bar moves closer to the threshold.
2 supporters 3 supporters, 40% Already official. Once an issue is an official case, support closes and you can Track official case instead.
Already an official case
Track your cases
Issues you support show their official case, the department and team, and the target date as they move forward.
A case you support The Cases tab lists everything you reported or supported, with a badge when something needs you.
Your cases
Confirm a fix
When the department marks a case fixed, the people who backed it decide whether it really is.
Open the case and tap Check the fix.
Check the fix Compare the before and after photos, then tap Fixed or Not yet.
Is it fixed? When enough neighbours confirm, the case closes. Closed cases keep the fix note and proof photo on their timeline.
Closed after your confirmation A completed case
Three “Not yet” answers reopen the case and send it back to the department.
For department staff
Decide on new cases, do the work and show proof. Everything you do appears on the citizen’s timeline immediately.
Decide on new cases
Home lists every case that crossed the community threshold under Needs your decision, with the time left to decide. Approve assigns a team and target date; Reject needs a reason, an explanation and a proof photo.
Needs your decision
Work a case
Open an assigned case and tap Start work on site.
Start work on site When the work is done, tap Mark as fixed, add after photos and a short note, then tap Send for confirmation.
Mark as fixed with proof
What citizens see
The citizen app updates live, with no refresh: assigned, then in progress, then fixed and waiting for confirmation.
Analytics
Insights shows how your departments are doing: cases opened and fixed, resolution time, on-time fixes, reopen rate, department performance, a hotspot matrix, and recurring and reopened cases.
Filter by When, Area, Department or Problem type. Click a bar to zoom into that period, or export the numbers as CSV.
Insights The Cases list shows every case with its status, community support, team and target date. Switch to Board to move cases between stages.
Cases list
For admins
Admins set the rules for the whole organisation in Settings → Test mode & thresholds. Other staff do not see this card.
Test mode lists the test accounts on both sign-in pages and unlocks the data tools. Turn it off before real users sign in.
Test mode Thresholds: supporters needed to open a case, or the confidence that opens it, the confidence each support adds, and the confirmations needed to close a fixed case. Tap Save thresholds; the new rules apply immediately.
Thresholds Data tools (test mode only). Seed data adds the demo scenarios. Reset seed data removes demo data and seeds a fresh copy; reports from real citizens stay. Remove all data deletes every report and citizen profile and asks you to type DELETE first.
Confirm reset Reset complete
Demo accounts
While an admin has test mode on, both sign-in pages list these accounts: tap one to sign in. The code fills itself in, and the Aadhaar step offers Use demo Aadhaar. Console password: koodal-demo, code 123456.
Koodal app
| Citizen | Phone | Use it for |
|---|---|---|
| Kavya Raman | 90000 00001 | Main demo citizen |
| Arjun Kumar | 90000 00002 | Supporter |
| Meena Sundaram | 90000 00003 | Supporter |
| Karthik Selvam | 90000 00004 | Supporter |
| Lakshmi Narayanan | 90000 00005 | Supporter |
| Sathish Kumar | 87878 78787 | Madurai citizen |
| New citizen | 90000 00009 | Not registered: walks through account creation |
Koodal Console
| Staff | Employee ID | Access |
|---|---|---|
| Divya Raghavan | GCC-1001 | Admin · all departments, test mode and thresholds |
| Priya Natarajan | GCC-2041 | Staff · Roads |
| Farida Begum | GCC-2042 | Staff · Water & Drainage, Sanitation |
Sample issues to explore
Seeded in Chennai with the default thresholds. Open one at /issues/<ID>.
| ID | Issue | What it shows |
|---|---|---|
CP-S1 | Pothole near Vijayanagar bus stand, Velachery | Report a pothole nearby to see the join suggestion |
CP-S2A | Rainwater at Madipakkam junction | Already an official case, waiting for a decision |
CP-S2B | Garbage near Adyar bus depot | Your support makes it official (4 → 5 supporters) |
CP-S2C | Sewage on Kutchery Road, Mylapore | Crosses on confidence (74% → 82%) |
CP-S2D | Streetlights dark on Pondy Bazaar 2nd lane | Still gathering support after yours |
CP-S3 | Storm drain open near Perungudi toll | Already supported by Kavya, assigned |
CP-S4 / S4B | Kathipara potholes / Elliot’s Beach footpath | Completed, and one fix waiting for your confirmation |
CP-S5 | Road cave-in near Phoenix Mall signal | Roads staff start work and mark it fixed, live |
