A political consulting firm in Florida
They track school board races across the state. When we met them, the whole operation lived in one spreadsheet.
-
Day one
One Google Sheet, one tab per district. Someone on staff would open each county's elections website, copy the candidate information into the sheet, and paste in links to the filings. Every tab was formatted a little differently, and it was hard to tell what was current.
We spent the first day reformatting the sheet so it was easier to read and harder to break. Doing that also taught us how the whole process worked.
-
That week
While going through the sheet we noticed that every county's elections site runs on the same software, so the pages all have the same structure. We wrote a scraper that pulls candidate data for every district in Florida and drops it into a new tab in the same sheet. The team kept working the way they always had, with the copying part gone.
-
A few weeks in
Once the scraper was running, the sheet had more rows than a spreadsheet handles well. We moved the data into a small web app with logins, so the scraped records and the team's own notes lived in the same place.
-
Once it was an app
With a real app we could add things a spreadsheet can't do. The firm can give its own clients a login that only shows their districts. Users can star the candidates they're watching, filter out races they don't care about, and see a changelog of what moved since they last looked.
-
Now
We're adding dashboards and alerts, so the team hears about a new filing without having to go look for it.
A spreadsheet turned into a monitoring tool the firm now shares with its own clients. There was never a launch. Each step took a few days, and each one made the next one obvious.