Case study / Elections / Web app

Rekap Suara 2024

A vote tally web app for a DPR RI candidate in North Sumatra III during the 2024 election. It held more than 100,000 records from polling stations and kept every C1 result form on file in case a count was disputed.

Web appData at scaleDocument archive
Vote tally dashboard: filters for regency, district, village and polling station, progress of polling stations entered, and a bar chart of votes per candidate with names anonymised

Client

DPR RI candidate, Dapil Sumut III

Industry

Elections

Year

2024

Services

UI/UX design, Web development

Stack

Laravel, MySQL, Livewire

01 / The problem

Where it started

Every vote starts on a paper form.

On 14 February 2024 Indonesia elected its president, DPR, DPD and regional councils on the same day. North Sumatra III spans ten regencies and cities, from Langkat and Binjai to Asahan and Tanjungbalai, with ten DPR seats at stake.

Each polling station writes its count on a C1 form. The official recap then moves up through district, regency and province. A campaign that wants to check those numbers needs its own count from the same forms, and photos of the forms themselves if a result ends up in a dispute.

What success had to look like

One count the campaign can stand behind.

  • 01

    Every polling station result in one database, from regency down to village and TPS.

  • 02

    A photo of the C1 form attached to each TPS record.

  • 03

    Totals that update as results arrive, filtered to any area.

  • 04

    Evidence ready to pull and download if a result is contested.

02 / The process

From the dapil map to the count.

Four steps, from mapping the dapil to running the count.

Phase 01

Map the dapil

Ten regencies and cities, broken down into districts, villages and polling stations.

Phase 02

Design the recap

One dashboard that drills from the whole dapil down to a single TPS.

Phase 03

Build entry and archive

A TPS form that checks its own totals, and a C1 archive filed by location.

Phase 04

Run the count

Results entered TPS by TPS as the forms came in after polling day.

03 / What we built

Five parts of one count.

From the recap dashboard to the C1 archive.

01 / Recap

From the whole dapil to one TPS.

Pick a regency, district, village or polling station, and the chart redraws for that area. The header shows how many TPS have reported and how many C1 photos are still missing.

  • Votes per candidate, with the client's candidate highlighted
  • Polling stations entered against the total for the area
Recap dashboard filtered to one district, with a bar chart of anonymised candidates

02 / TPS entry

Numbers next to the form.

Operators enter each candidate's votes for a polling station with the photo of its C1 form open beside them, so every number can be read straight off the paper.

  • C1 photo stored with every TPS record
  • Location of each TPS fixed from regency down
TPS entry form with vote fields per candidate, an automatic total check and the uploaded C1 form photo

03 / C1 archive

Every form, filed by location.

C1 photos sit under the regency, district and village they came from, and any TPS without a photo shows up as missing.

  • Find one TPS form in a few clicks
  • Download a form as evidence
C1 archive grid for one district, each form photo labelled with its TPS, village and verification status

04 / Mobile

The count in a pocket.

The recap and the archive fit a phone screen, so a coordinator in the field can check an area's totals or pull up a TPS form without a laptop.

Vote recap on a phone with area filters and votes per anonymised candidateSingle TPS C1 form on a phone with its verification status and a download button

05 / Scale

100,000+ records, one dapil.

The database held more than 100,000 records at polling-station level across the ten regencies and cities of North Sumatra III, each linked to its regency, district and village.

  • Dapil Sumatera Utara III
  • 10 kabupaten/kota, kecamatan, desa, TPS
  • 100.000+ record, foto C1 per TPS

Confidentiality

Built for one campaign.

The system served a single candidate's team. Screens on this page use sample numbers, and candidate and party names are anonymised.

  • Caleg A–J, Partai 1–10
  • Contoh data
  • C1 ditandai CONTOH

04 / Results

A count with the paper to back it.

The coverage of the count, and the evidence behind it.

100k+

Polling-station records held

10

Regencies and cities covered

C1

Form photo stored with each TPS record

4

Levels: regency, district, village, TPS
Visibility

The whole dapil on one screen.

NowThe team filters to any regency, district or village and sees the count as it stands.

Evidence

Ready for a dispute.

NowEach form is filed under its TPS, so the one that matters can be found and downloaded when a result is challenged.

Next project / Palm oil mill system

PTPN IV Gunung Bayu

A palm oil mill system for fruit intake, CPO lab results, quality norms and the daily report, all in one place.

Open project
Gunung Bayu mill dashboard with inventory count, fresh fruit bunches received from the estate and from third parties, a monthly intake chart and average CPO quality

Your buildcould benext.

Start

Reply within one business day