Pryzmat · check it at the source
What is really happening in the Sejm?
Pryzmat collects public data on the Polish parliament - what MPs say, how they vote, what bills change, what they own and which companies they are linked to - and shows every figure next to the register it came from.
This page is the English introduction
The data pages, the source documents, the quotations and the existing AI analyses are in Polish, because the registers they come from are. Every link below that leads to a Polish page says so. The Polish home page is at pryzmat.net(in Polish).
Source data, calculation and AI interpretation are three different things. How to read them?
The rest of the platform
- Recent votes →How each MP voted, including who did not vote.Głosowania - page in Polish
- Connections →People, companies and registers on one graph.Powiązania - page in Polish
- Public records →Company and business registers, searchable.Rejestry - page in Polish
- Documents →A single catalogue of source documents.Dokumenty - page in Polish
- Charts →Interactive views over the whole data set.Wykresy - page in Polish
- Guide →What the data means and how it was gathered.Podręcznik - page in Polish
How to read the debate analyses
The official transcript shows the record of a debate. The calculation describes the material that was analysed, and AI helps to classify features of a statement and to point out passages worth a closer look. Those are three different layers: source data, the result of a calculation and an interpretation. Analysis of the style of a statement is not a judgement of someone's views, nor of whether what they said is true.
AI can be wrong. A quotation lets you check what an interpretation was based on, but on its own it does not prove that the interpretation is correct. Before you use an analysis, check the date, the range of the material and the context in the source. The methodology describes what the indicators mean and where their limits are; a result is not a universal verdict on a politician.
Data sources and how it works
How it works
1Data sources
All the data comes exclusively from official, publicly available sources. No information on this platform was obtained illegally, and none of it comes from a „leak”. Every source is public by law.
2Processing and analytics
Raw data is processed automatically, using statistical and machine-learning methods. One rule applies throughout: if a journalist asks „how did you calculate this?”, the answer has to be method + sample size + confidence interval + a link to the code, and not „a threshold we set by eye”.
- Voting patterns - detecting blocs of MPs who vote alike, and an ideological scale (who actually votes with whom), independently of formal parliamentary group membership.
- Discipline and absences - the share of votes cast against the MP's own parliamentary group, with a confidence interval, and unusual absences on particular topics, checked with a statistical test.
- Quality of speeches - analysis of how MPs speak from the rostrum: substance, evasions, rhetorical devices (see the section „How to read the debate analyses”).
- Linking sources - cross-referencing data: an MP + companies from KRS + assets from declarations + public procurement. Every coincidence is shown as a fact with a source, never with a „suspicious” label.
- Change tracking - every change in the data is logged with a date, the old value and the new one. Nothing disappears without a trace.
3The role of AI and the safeguards against errors
An important caveat
Artificial intelligence helps to describe the data and to analyse statements. It is not an independent source of facts. It can attribute context wrongly, flatten an argument or state a conclusion that does not follow. That is why an interpretation has to be set against the original material.
- Quotation and context - check who the words belong to and what the discussion was about. A matching quotation does not on its own confirm the interpretation.
- Range of the data - a result describes the material that was available and analysed. The absence of a marker is not proof that the phenomenon is absent.
- A checkable claim ≠ a verified one - the fact that AI pointed to a specific claim does not mean that the claim has been verified.
4Technical architecture
The system is built on proven open-source technology. The source code is publicly available on GitHub.
Why Pryzmat was built and who makes it
Why this was built
I have no ties of any kind to any political party or political grouping.
As a citizen I watch how hard it is in Poland to reach reliable, well-ordered information about what members of parliament do. The data is public - the law guarantees that - but it is scattered across dozens of registers, in formats that make analysis difficult. To draw even simple conclusions about who works with whom and what the real connections are, you have to be an advanced analyst. It should not be like this.
I value the invaluable work of Polish investigative journalists. At the same time I see that their analyses - by the nature of the work - cover selected subjects at a particular moment. What is missing is a tool that would give continuous, holistic insight into what happens in the Sejm: who votes how, what business links they have, how their assets change from year to year. I am a programmer and a data analyst - tables, charts and diagrams are my language. That is why I built Pryzmat.
This project was not commissioned by any company, organisation or newsroom. I funded it out of my own pocket and gave it my own private time, guided by a simple conviction: if data about what politicians do is public by law, then it should also be easy to reach and easy to understand for every citizen.
I consider myself a patriot and I am not building this tool against anyone. Quite the opposite - I believe that transparency serves everyone, politicians included. The problem was never a lack of data, but the fact that it surfaced selectively, on the occasion of a particular scandal or a media cycle. I would like Pryzmat to change that dynamic - by giving everyone the ability to check the facts for themselves, without waiting for the next press piece.
I can see how complex and how opaque the Polish political scene is. Let me lay a layer of data-driven analytics over it - wherever the public registers and the right to information allow it.
About me

Michał Madejski
Programmer · Data analyst · Citizen
I run a one-person business in the technology sector. I specialise in data analysis, machine-learning systems and building analytics platforms. Pryzmat is my personal project - it is not sponsored, not commissioned and not connected to any political, media or business organisation.
If you share this mission and would like to work together or to support the development of the platform, you are very welcome to get in touch. This is a civic project, kept running with private money. Every form of support - substantive, technical or financial - lets me take Pryzmat further.
Contact: [email protected]
LinkedInBuy me a coffee
Pryzmat runs 24/7 - servers, a database, AI for analysing the data. That generates real costs, and my own work is not paid for. If you think a tool like this ought to exist, you can support me on Buy Me a Coffee. Even a single espresso makes a difference.
Open Pryzmat
Votes, assets, business links, the quality of debates and the path of a bill - data that is public by law, gathered in one place and described so that it can be checked.
Start with the news →(in Polish)