I built Counted to make South African local election results easier to find, understand, and reuse. It’s an independent civic project using public data from the Electoral Commission of South Africa.
You can explore results by municipality, ward, or voting district, compare elections going back to 2000, and see how party vote shares have changed. Maps help put the results in context, while a coalition explorer lets you try different combinations of parties in a council.
Making the data useful
The same results are available through a public, read-only API. Source links, timestamps, and validation status travel with the data, so someone using it can see where a figure came from and how current it is.
Behind the site, a scheduled importer checks the IEC’s public feeds and validates changes before publishing them. The website serves stored results, so visitors don’t create extra requests to the IEC.
I built it with Astro, TypeScript, and Cloudflare Workers. The code is open source.

