DEV Community

Nabin Bera
Nabin Bera

Posted on

GroundSignal: Private Local AI for Real-World Civic Action

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.

What I Built

GroundSignal is a privacy-first civic observation tool that turns a short note from a real-world neighborhood walk into a structured, human-reviewed community report.

The intended workflow is simple:

  1. Step outside and notice a public-space issue, such as a blocked wheelchair ramp, damaged footpath, overflowing bin, or missing shade.
  2. Record the observation in GroundSignal using only the facts that were actually seen.
  3. Ask a locally running AI model to organize the note into a constructive draft.
  4. Review and edit the draft, then export it as Markdown or JSON for a neighborhood group, council, or community organization.

GroundSignal is for residents, accessibility advocates, neighborhood groups, and anyone who wants to turn everyday observations into useful civic communication without giving their notes, locations, or personal information to a cloud AI service.

The project is deliberately a drafting tool, not an automated complaints system. It does not claim to contact authorities, file citations, identify people, verify legal violations, or resolve issues. The person who made the observation remains responsible for reviewing and sharing the final report.

Demo

  • Live demo: https://groundsignal.nabinbera.in

The best demo flow is a short walk observation about an accessibility issue, followed by local report generation, human editing, and Markdown export. The demo should also show the Local AI Diagnostics screen and the model running through Docker Desktop Model Runner.

Code

  • Repository: https://github.com/NabinDevX/GreenSignal
  • Project documentation: README.md

GroundSignal is organized as a Bun monorepo with:

  • apps/web: React, Vite, TypeScript, and Tailwind CSS interface
  • apps/api: Express API and local model client
  • packages/shared: shared TypeScript types and Zod validation schemas

Saved reports are stored in a local SQLite database under apps/api/data/. Runtime data and environment files are excluded from version control; .env.example is provided as the configuration template.

How I Built It

GroundSignal uses Meta Llama 3.2 through Docker Desktop Model Runner:

Browser UI
   -> Vite development proxy (:5173)
   -> Express API and Zod validation (:3001)
   -> Docker Desktop Model Runner (:12434)
   -> Local Llama 3.2 model
Enter fullscreen mode Exit fullscreen mode

The browser calls only relative /api/* endpoints. The Express API is the only component that communicates with the local model runner, so the browser never connects directly to the inference endpoint.

The API:

  • Validates observation requests with shared Zod schemas.
  • Uses a strict system prompt that forbids invented locations, dates, identities, legal claims, authority contacts, and resolutions.
  • Requests a structured JSON report.
  • Extracts JSON from the model response when necessary.
  • Validates the generated report before returning it to the browser.
  • Returns explicit errors for unavailable models, timeouts, empty responses, malformed JSON, and schema violations.

The frontend provides:

  • A dashboard focused on outdoor observation.
  • Observation categories and factual note entry.
  • Report review and editing before export.
  • Local report archive with search, filtering, and deletion.
  • Markdown and JSON export.
  • Local model status and diagnostics.

The repository includes shared schema tests and API integration tests covering validation, health responses, archive operations, and model error handling.

Why Does Open Innovation Matter?

Open-source AI makes this project possible in ways a closed hosted API would not.

First, local inference gives residents control over sensitive civic observations. A note about a neighborhood, accessibility barrier, or public safety concern does not need to be uploaded to a third-party AI provider.

Second, open and locally runnable models make the system inspectable and adaptable. The prompt boundary, output schema, error handling, and model choice are visible in the repository instead of being hidden behind a remote service.

Third, local inference avoids account requirements, usage-based API costs, and dependency on a vendor's availability. A community group can run the tool on its own hardware and decide how reports are stored and exported.

Finally, open innovation lets the project prioritize a different relationship with AI: the model helps organize a person's real-world observation, but it does not replace that person's judgment or pretend to take civic action on their behalf.

Prize Categories

GroundSignal is primarily entering the main Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass category.

Top comments (0)