🧭 Insight-to-Action Copilot

Turn local issues into action with AI triage, routing, and public impact tracking.

A civic reporting platform that lets anyone report local issues in seconds using text, photos, and location. It classifies the problem, estimates urgency, suggests the right authority, drafts a complaint or public post, explains its reasoning, and tracks resolution progress on a public dashboard.

Inspiration

We built this because local problems are often obvious to the people living with them, but hard to turn into action. A flooded street, a broken drain, or trash near a school can sit unresolved simply because reporting is slow, confusing, or disconnected from the right authority. We wanted to make civic reporting feel immediate, understandable, and actually useful.

What it does

Insight-to-Action Copilot lets anyone report a local issue in seconds using text, photos, and location. It then classifies the problem, estimates urgency, suggests the right authority, drafts a complaint or public post, and explains why it made those choices. On top of that, it tracks resolution progress and visualizes community-wide trends on a public dashboard.

How we built it

We built the frontend with Next.js, TypeScript, Tailwind CSS, shadcn/ui, and Framer Motion to keep the experience fast and approachable. The backend uses FastAPI, Python, Pydantic, SQLite, and Prisma for structured issue storage and workflow tracking, while Featherless inference powers the AI triage and generation layer. We also used Leaflet for maps, Recharts for analytics, and Docker Compose to keep the full stack easy to run and demo.

Challenges

One of the biggest challenges was making AI outputs feel helpful without pretending to be certain when the model wasn’t. We had to balance classification, routing, and explanation in a way that stayed transparent and still felt polished for users. Another challenge was designing a demo flow that could show real value instantly, so we added seed data and scenario switching to make the experience reliable during judging.

Accomplishments

We’re proud that the app doesn’t just identify issues, it turns them into something actionable right away. The explainability panel and impact dashboard make the system feel trustworthy instead of like a black box. We also managed to combine reporting, routing, generation, and tracking into one cohesive product that feels genuinely usable.

What we learned

We learned that civic tech works best when it reduces friction at every step, not just when it adds smart features. Building with AI also reminded us that transparency matters as much as accuracy, especially when people may use the output to contact real authorities. We got a lot better at designing full-stack systems where the UX, data model, and inference layer all support the same goal.

What’s next

Next, we want to add real authority directories by city, multilingual support, and better moderation for public submissions. We’d also love to integrate SMS or WhatsApp reporting so more people can use it without needing to open a web app. Longer term, we want to pilot it with schools, NGOs, and local communities to see how it performs in the real world.

Built With

  • date-fns
  • docker
  • docker-compose
  • fastapi
  • featherless-inference-api
  • framer-motion
  • leaflet.js
  • lucide-react
  • next.js-14+
  • prisma
  • pydantic
  • python-3.11
  • react-hook-form
  • react-leaflet
  • recharts
  • shadcn/ui
  • sqlite
  • tailwind-css
  • typescript
  • uvicorn
  • zod
  • zustand
Share this project:

Updates