INVOLVANT LLC · CIVIC TECHNOLOGY
Involvant Signal
See what’s being decided where you live, and how to take part.
The decisions that shape a community — rezonings, utility rates, school budgets, land-use changes — are made in public, on a schedule. But they are published across dozens of city, county, school-board, and agency websites, often inside agenda packets hundreds of pages long. By the time one reaches the local news, the comment window has usually closed.
Signal finds the official sources for an area and brings their upcoming public meetings and agenda documents into one list, linked back to each official listing, so people can attend, watch, or comment in time.
Every jurisdiction publishes differently, and hand-writing a scraper per site doesn’t scale to small local bodies. Use LLMs to generate inspectable parser specifications once per site. Keep runtime extraction and persistence deterministic, with source and run tracking for visibility.
C# 14 / .NET 10 / ASP.NET Core 10 / EF Core / PostgreSQL / Playwright / React
Architecture notes
Source discovery leads into event-list parsing, detail extraction, attachment metadata, and normalized persistence. Playwright drives a headless browser for script-heavy portals; AngleSharp handles HTML parsing; EF Core maps the ingestion domain to PostgreSQL. Event times are parsed in each site’s own time zone.
The web server launches and monitors scrape runs and serves the React client. It runs as a single container on DigitalOcean App Platform with managed PostgreSQL. Next on the roadmap: agenda summaries, topic classification, and comment-deadline tracking.