Back To All Portfolio
Side Projects & Civic Tech Creator & Vibecoder 2026 - Ongoing
// Personal Project

Sejmomat

Personal Project

Sejmomat is a site I built to show how the Polish Sejm actually votes. Every amendment vote is tied to the text of the amendment, who filed it, and what the committee recommended, with results broken down by club - including the MPs who break their club's line.

Key Deliverables & Scope
  • ▶ Every amendment vote linked to its text, its author, and the committee's recommendation
  • ▶ Club voting lines and the rebels who break them, worked out for each vote
  • ▶ Sejmdle: five daily guessing games built on the same data

Polish parliamentary votes are public, but they’re published in a way that tells you almost nothing: a list of titles like “amendment no. 14”, a tally, and a PDF somewhere else that holds the actual text. It’s a football results page with no teams and no scorers, just “Match 14: won”. So I built the site I wanted to read.

Sejmomat pairs every amendment vote with the amendment’s text, the person who filed it and the committee’s recommendation, then shows the result club by club - including the MPs who voted against their own club’s line. It covers whole sittings, bills, amendments, clubs and individual MPs, in Polish and English.

Under the hood it pulls from the Sejm’s open API and the ELI legal database, parses the amendments out of the printed documents, and renders the whole thing as a static site - around 18,000 pages that rebuild and go live twice a day on sitting days. It’s open source under the GPL.

Sejmdle

The same data drives Sejmdle, five daily games: guess the MP, “Czy przeszło?” (did it pass?), “Kim jestem?” (who am I?), “Prezydium” and “Siatka”. The more obscure the MP you name, the better you score.

Amendment no. 14 now comes with its text, its author, and the name of every MP who broke ranks over it. Turns out that’s all it ever needed.

#Civic Tech #Vibecoding #Open Data #Polish Politics #Daily Games