Inspiration
Imagine you run a shop on Eglinton West and hear that the City has “adopted” a plan for Little Jamaica. Two questions come to mind. What did the City actually approve? Do you still have a say?
We built CivicClear because answering those questions meant piecing together a committee record, a draft planning framework, and a separate public consultation page. We wanted a resident to be able to follow that trail in a few clicks and check our reading of the record along the way.
What it does
CivicClear explains four Toronto decision records in plain language. In the Little Jamaica example, you can open the words “adopted with amendments” and see who acted and what they agreed to do. The Planning and Housing Committee directed staff to consult the community on a draft and report back. From the same page, a shop owner can find affordable retail space among the priorities, see which questions about their own rent remain open, and follow a link to the City’s feedback map to identify a place that matters to them.
A separate calculator answers another question residents bring to City Hall. At the same $700,000 assessed value, how much did Toronto’s residential municipal tax change from 2025 to 2026? The calculator shows a $92.57 annual increase and links both rates to the bylaws behind the estimate.
How we built it
We built a six-page app with HTML, CSS, and JavaScript, backed by Python and FastAPI. Our Python code checks quotations against the supplied source text before using them to assign a decision status. We also built an optional analyst tool for new records using Claude and tested that workflow with simulated responses.
We used Codex and Claude to help develop the app. The underlying records, consultation information, and tax bylaws come from the City of Toronto.
Challenges and what we learned
One of the hardest parts was deciding what a summary could safely leave out. Remove the word “committee” from the Little Jamaica example and a reader could walk away believing Council had approved the whole plan. We gave staff recommendations, committee actions, and Council decisions their own places on the timeline. We also learned to source the feedback deadline separately, because the City’s consultation page can change after a meeting record is published.
What’s next
For a municipal pilot, we’d ask City staff to review each summary and test the app with residents. We’d start with one practical question after they use it: can they explain what was decided and find where they can still participate?
Built With
- css
- fastapi
- github
- html
- javascript
- pydantic
- pypdf
- pytest
- python
- uvicorn
