Mapping 18 Years of Philippine Senate Elections Down to the Municipality

An interactive explorer of Philippine Senate election results from 2007 to 2025, broken down to the municipality level — letting voters, researchers, and the curious dig past the national tally into candidates' geographic support.

Publish date

2026

Tools & Technologies

Next.js, MapLibre GL JS, WebGL

Collaborations with

IanMaps and Joseph Ricafort

Activities

Data compilation and cleaning, data visualization, front-end web development

View live project ↗

Philippine Senate elections are decided nationally — all 24 seats are elected at-large, so the only number anyone sees is the national tally. That hides geography: where a candidate actually won, where they lost ground, and how that shifted across elections. Official results exist, but they're scattered across seven election cycles, inconsistent formats, and multiple sources (COMELEC and NAMFREL archives), with no single place to see a candidate's support municipality by municipality. I compiled and reconciled results from 2007 to 2025 into one dataset — standardizing location codes, deduplicating candidate names across spelling variations, and stripping out summary columns that would double-count votes.

BotoSenado turns that dataset into an interactive explorer: a year-switchable leaderboard, a choropleth map of support down to the municipality, and a swing view tracking how repeat candidates gained or lost ground between runs — built for voters, researchers, and anyone curious enough to look past the national tally. It's an independent, unofficial project (not affiliated with or verified by COMELEC), upfront about its limits: some municipalities are missing from the original source files, so totals can diverge from the official count. Built with IanMaps.

Sitting on a dataset that deserves this?

I design and build explorers like this one — turning fragmented, authoritative data into something people actually trust and use. Let’s talk about yours.

Book a Discovery Call ↗Connect on LinkedIn
← All posts