Passa al contenuto principale

Who Got Us Here

An enthusiastically shareable version of the Civic Dashboard project (Si apre in una nuova finestra) came online the week of March 28th, 2025. It featured:

  • A simple, accessible How Council Works page

  • A Councillors page showing how every councillor in this session of Council

  • An Actions page showing all committee/council items available to act on in the city, along with filters/tags and an email alerts/subscription feature

  • A prototype Search page showing where we’re headed in upgrading Council-related search in Toronto

  • Organizational infrastructure like social media, a blog, Feedback/Join Us pages, and the tools to support it all

What got us there is not made up of bits and pixels, but time and people:

  • 37 volunteer contributors

  • 120 Slack channel members

  • 9 months

  • 42 hacknights

  • 3 key supporting organizations - thank you to Open Data Toronto, 1RG, and Civic Tech Toronto!

Stories show us what’s possible, yet volunteer efforts rarely have their stories told, especially not as they’re happening. When they don’t work out they (and their learnings) disappear, and when they do work the journey to get there is obscure, often smoothed over, and mythologized. This is our best attempt at avoiding either of these outcomes, by communicating one version of the first 9 months of this project! 

Much as open source code bolsters other projects and makes them feel more possible, we hope that open sourcing our process and progress will do the same for civic technology projects in Toronto and beyond. We’ll release updates more often going forward!

What the work log below doesn't - and can't - cover is all the critical work in between. The conversations in person and online, the cafe and Zoom meetings and work sessions, encouragement from friends, family, and recent strangers, the personal obstacles overcome, the folks who left and re-engaged, and everything that didn't work before it did. 

Here are a few core takeaways:

  1. Working in large groups is not just an unfortunate necessity of volunteer projects, but a core driver of the capacity and resilience of an organization/project. It's a feature, not a bug.

  2. There are many wonderful, skilled, trustworthy low ego people who want to contribute, and lots of great work to be done.

  3. The best things are not any one person’s - they’re collective, co-owned efforts, and to focus on individual stories is to miss the forest for the trees.

  4. Community infrastructure - be it public data or a decade-long weekly meetup - is critical, makes good things possible, and deserves our support.

What follows is a month by month breakdown of the high level work (and the people who did it) that got us to where we are today! It’s not meant to be engaging (unless you’re SUPER into project management). It’s a literal, messy, and necessarily incomplete record of a beautiful and underappreciated way of doing meaningful, necessary work in community. If this way of working sounds appealing to you, you can join us (Si apre in una nuova finestra) any time!

May 2024

  • Ilya does a Civic Tech Toronto hacknight presentation (Si apre in una nuova finestra) on the UX of democracy, with no project in mind/attached to it

  • Several viewers reach out and ask whether there’s a project associated with this, saying they would be interested in contributing!

June 2024

  • Jim, Rel, Sarah, Gena, Sudhakar, Michael N, Mehul, Thomas, GodKnows, RJ, and Aidan join the project

  • June 18th - first “pitch” + hacknight breakout

    • Quote - “the goal is to iterate + learn quickly and have an MVP up ASAP, hopefully this summer! I'm gonna be running this breakout every Tuesday this summer, pending emergencies”

    • The project working name is “Citizen Dashboard”

  • Most of the work consists of onboarding, some research into Toronto’s Open Data + TMMIS system, and some whiteboard sketches!

July 2024

  • Shelley, garo, Nithin, Olivia, Ahmed, Yael, Ajay, and Thomas C join the project

  • Mackenzie from Toronto’s Open Data team becomes aware of the project, shares great context

  • We split the project into 3 workstreams - Tech, UX, and Project (general), and make the associated Slack channels

  • Tech:

    • Michael N opens a GitHub repository, write an initial scraping script for Agenda Item data, an initial architecture diagram, and makes a slide deck called “Toronto City Council Explained”

    • Nithin creates documentation of the existing API documentation

  • The UX team begins work on a user survey and interview program, spearheaded by Thomas S and Sarah K

August 2024

  • Michael K, Sam M, Jasper, Ali, Manvi, Mandy, Tom R, and Bradley join the project

  • UX:

    • Ali creates a discussion guide for semi-structured user interviews

    • Yael shares research on the City’s decision making process

    • The team develops the survey, including questions, email templates, and informed consent forms

  • Tech:

    • Lots of discussion and exploration on architecture and MVP scoping

    • Michael K sets up an architecture with Kafka and Kubernetes

    • Michael, Mitch and garo build the team’s understanding of the City’s API

  • Project:

    • Manvi and Jasper sign on as product managers

September 2024

  • Fab, Baris, Emily, Alan, Simone, Jesse, Kit, Sharmeena, Paul, and Yiwei join the project

  • UX:

    • Survey launches, responses roll in!

    • User interviews with democracy power users begin via a Calendly booking page, spearheaded by Ali and Shelley

    • The quest for a more inclusive name (because ~20% of Toronto residents are not citizens) begins, prompted by Sarah K

    • Ilya writes up our first Personas document

    • The research Figjam board is first created and shared

  • Tech:

    • Nithin builds and deploys an elastic search instance pointed at our agenda items database

    • More discovery work is done on the agenda item lifecycle and the associated data

  • Project:

    • Notion and Google Drive instances launch for the project, we start tracking meeting notes, user stories, and project to-do’s in Notion

    • We make a channel for research-related work called #research-civic-dashboard, led by Yael

    • Ilya writes up an Onboarding document

    • First outside-of-hacknight team party!

October 2024

  • Xin Wen, Matthew, Milan, Torie, David, Lawrence, Tristan, Gabriele, Patrick, Julia, Simon H, Isaac, Brian, and Alex G

  • UX:

    • Rel sketches out engagement touchpoints on the current City website

  • Tech:

    • The team decides on using Tailwind and Next.js for front end work

    • Matthew builds and deploys the first version of our Councillors page

    • Nithin deploys our first Search page prototype

    • Michael N progresses work on our github’s DevOps setup

    • garo builds and deploys the first version of our Actions page

  • Research:

    • David begins research on similar projects in other municipalities

    • Brian gives insight on how this tool could play from inside a Councillor's office

  • Project:

    • Hacknight meetings are run by the team (spearheaded by Jasper and Manvi) in Ilya’s 5 week absence

November 2024

  • Atina, Khasir, Jijesh, Alex O, Sonal, Aditya, Jonathan, Jeremy, Ana, Tom, Akhil, and Jai join the project

  • UX:

    • Sharmeena augments the engagement touchpoints draft with more user journey research

    • Sharmeena shares initial designs for the Councillors page

    • User interviews continue, run by Ali

    • Rel creates first design system for the project, based on Material UI

  • Tech:

    • garo implements client-side search and filtering by decision body for the Actions page

    • We decide on a postgres database in the backend

  • Research:

    • Ali and Yael share the first version of the How Council Works page

    • David shares research about the Councilmatic project in NYC and Chicago, and where it did or didn’t work

  • Project:

    • After much discussion, we rename to Civic Dashboard

    • Project management is switched to Slack Canvases and Lists

    • Ilya creates Products and Teams + Onboarding docs and a kanban board + tickets in Slack

    • We formally break our work up into product teams - How Council Works, Search, Actions, and Councillors

    • We buy civicdashboard.ca (Si apre in una nuova finestra)

December 2024

  • Sourabh, Sage, Katelyn, Naomi, Jerome, Danillo, Thomas F, and Sebastian join the project

  • UX:

    • Yael shares a visual design for an Actions page, and incorporates lots of feedback into the How Council Works document

  • Tech:

    • Khasir kicks off and leads data pipeline conversations and mapping, he and Lawrence explore different AI models for item summarization

    • garo implements an “email yourself your search” feature for Actions

    • Matthew adds Moved/Seconded By tabs and full agenda items to the Councillors page

    • Michael N deploys our first data backend prototype, and a wiki for the GitHub repo

    • Nithin ships a Search prototype with AI summaries

    • Milan builds and deploys the first iteration of civicdashboard.ca (Si apre in una nuova finestra), with a landing page, an About Us page, links to our prototypes, and Join Us + Feedback pages

    • The team decides on Cloudflare for hosting

  • Project:

    • We have a holiday party at 1RG!

January 2025

  • Yumi, Drini, Ariel, Richard, Matteo, Chantal, Ashish, Nour, Sadiq, Mikaal, Kevin, Sarah P, Rowan, Phu, Sunny, Joseph G, and Serena join the project

  • UX:

    • Ilya build a user feedback form to Google Sheets to Slack pipeline

    • Mandy rejoins the project and initiates design system + unifying agenda item card design work

    • Sharmeena designs our first shared agenda item component

    • Chantal contributes some sketches for the How Council Works page

  • Tech:

    • garo merges the action page and website repositories

    • Khasir, Jerome and Lawrence continue agenda item classification/tagging work

  • Research:

    • How Council Works team splits into visually-focused team working on the intro document and a research/words-focused team working on more extensive wiki docs for the City

    • Yael connects Ilya to Jordan, a taxonomist at the City, who points us to the City Subject Thesaurus, which shows that there are human-made tags on most agenda items

    • Danillo gives feedback about the How Council Works document

  • Project:

    • Jeremy creates a meeting and project management structure for our tech team - tech work items start being tracked in GitHub

    • Ilya makes a Backlog document, an Open Organization document, and a Milestone document outlining what we’re aiming for next

    • Notion is formally shut down

February 2025

  • David H, Caroline, Geoffrey, Labib, Mateo, Mathushan, Kyle, and Luce join the project

  • UX:

    • Sharmeena and the design team conduct some voting research about the agenda item card component

    • Richard does initial branding work and a team survey

    • Ali and the How Council Works team post first Figma wireframes for the How Council Works page

    • The UX team transitions from Figma to Penpot (under Jordy’s suggestion) due to cost and open source considerations

  • Tech:

    • Jim brings up the idea of using a Github wiki as the place for our burgeoning Council wiki

    • Jai and the data team take a first pass at, and get feedback on, different forms and attributes of AI summaries for items

    • garo and Khasir find and analyze “subject terms” for agenda items, paving the way for tagging

    • John adds the Councillor list page

  • Research:

    • Yael, Danillo, and Mathushan start work on the Council wiki

  • Project:

    • The team decides to work with a deadline for the first time, aiming to release an enthusiastically shareable + usable version of Civic Dashboard by April 3rd, in time to demo it at Democracy Xchange!

    • The team does a big work session outside of hacknights for the first time, at Civic Space Sundays at 1RG!

    • #updates-civic-dashboard is added and hooked up to the GitHub

    • Khasir and Jai create a technical onboarding document

    • Calendly is shut down, the team transitions to an email-based flow for signing users up for interviews

March 2025

  • Liqi, Ian, Veronica, Nathan, Melissa, Carol, Luisa, and Allan join the project

  • UX:

    • Mathushan creates and iterates the User Researcher Toolkit

    • The team transitions all assets and work to Penpot from Figma

    • Sarah connects the team with Luisa, who (with the team’s direction) creates illustrations for How Council Works

    • Shelley shares new designs for the future of the Search page

    • Richard designs Civic Dashboard’s first logo

  • Tech:

    • Garo adds viewing past items, search operators, and viewing underlying subject terms by hovering over tags, email subscriptions, and new UI to the Actions page

    • Luce implements infinite scroll for the Actions page

    • Caroline builds a prototype of the new Search design

    • Khasir creates supertags from subject terms to be used to tag agenda items throughout the website

    • Jai creates an agenda item AI summary generating pipeline

    • Milan deploys the How Council Works page, updated UI for the Councillors page (with individual motions on each item), and adds a Feedback banner + updates to the Feedback page, 

    • Matthew implements new designs for the Councillor List page and Jai’s AI summaries into agenda items on the Councillor page

    • The team comes up with a basic permissions hierarchy for Github

  • Project:

    • garo initiates the practice of a monthly “all hands” Slack thread for the team to be aware of each other’s work and how they’re feeling

    • The team works together outside of hacknights at Civic Space Sunday and for a pre-launch work session tomorrow

    • Jerome researches newsletter options, selects Steady

    • Ilya makes LinkedIn and BlueSky pages