A small project written for Abundant Housing Vancouver.
Scrapes the City of Vancouver's website for rezoning and development applications, then notifies people of any changes via Slack. It's a simple standalone app using SQLite as a data store, runs on any major OS. Just copy the app (1 file, no dependencies) to a server and run it with a cron job, no further steps needed.
(screenshot is from a slightly older version that was written in C#)
Download a binary from the releases page or build it from source (install Rust then run cargo build --release
). Then run it:
❯ ./rezoning-scraper --help
Usage: rezoning-scraper [OPTIONS]
Options:
--slack-webhook-url <SLACK_WEBHOOK_URL>
A Slack Incoming Webhook URL. If specified, will post info about new+modified rezonings to this address.
--api-cache
Use cached API responses (up to 1 hour old) when available
--skip-update-db
Skip updating the local database (useful for testing)
-h, --help
Print help
-V, --version
Print version
Public domain. Do whatever you like with this code, no attribution needed.
- Figure out better error handling. Ideally we'd put messages on a queue to be processed.
- Set up Datadog for error reporting. Just tail the logs for now? Or use https://github.com/DataDog/datadog-api-client-rust?tab=readme-ov-file
- Add option to post to Bluesky