What needs fixing?
Describe a problem in your community in your own words. FixFirst works out what kind of problem it is, how dangerous it is, which office should fix it, and whether someone already reported it.
Say what it is and why it matters. Details like injuries, children or days without water raise the urgency.
Reports are saved on this device. The AI runs in your browser: no account, no server, no API key.
Fix first.
Every open problem in Riverside, ranked by how dangerous it is, how many residents it affects, and how long it has waited.
Problem map
Every problem in Riverside, pinned where residents found it. Bigger, redder pins are more urgent. Select a pin for the details.
- Critical
- High
- Moderate
- Low
- Resolved
Community pulse
Where problems pile up and what residents care about most, so officials can plan crews and budgets around real need.
How the AI works
No black box. Every problem type, urgency score and ranking can be traced back to these six steps, all running in your browser.
- 1
Clean the words
Lower-case the text, drop filler words and trim endings, so leaking, leaked and leaks all count as leak. Word pairs like main street are kept too.
- 2
Guess the problem type
A Naive Bayes classifier compares the words with labelled example reports and picks the most likely type, with a confidence score.
- 3
Score the urgency
Risk signals like live wires, injuries, sewage or children nearby add points on a 0 to 10 scale. Every point is shown to the person reporting.
- 4
Look for duplicates
TF-IDF turns each report into weighted words. Cosine similarity, plus the distance between map pins, finds open reports about the same problem.
- 5
Rank the work
FixFirst score = urgency × 7 (up to 70) + residents affected (up to 20) + days waiting (up to 10). Critical hazards always go first.
- 6
Learn from corrections
When an official fixes a wrong problem type, that report joins the training data and the model retrains on the spot.