PolitiekPraat
Dutch politics in plain language — an open community for news, polls and debate.
The idea
For many people Dutch politics is needlessly complex — not because they can't follow it, but because the language, the procedures and the surrounding media layer are packed with jargon. PolitiekPraat is my answer: a platform that translates current politics into readable language, with room for conversation without instantly derailing.
We don't want to have an opinion for you — we want to help you form one.
What it is
PolitiekPraat combines a small newsroom, a polls overview, background articles, a parliamentary agenda, and a community with blogs and debates. Anyone can sign up and publish; everything is moderated before going live. The live blog tool works like a Twitter timeline, but built around a parliamentary debate or election night, with polls and explainer blocks woven in.
Technical choice
I deliberately built it in plain PHP, no framework. Not out of nostalgia — but because from day one it needed to run on an affordable VPS with predictable memory usage, and because I wanted to understand the whole stack down to the lowest level. Routing, DB layer, auth, sessions, mailing, image processing, caching — all written by hand. That taught me more about web development than any tutorial ever could.
Production has one hard rule: missing required env variables make the app fail loudly with a clear error, instead of silently falling back on hardcoded values. I'd rather have a clean 500 than a leaked password.
What I learned
Building PolitiekPraat taught me the difference between "code that works" and "code that quietly runs for months without you thinking about it". Error handling, logging, CI, security headers, .htaccess fine-tuning — all of it grew out of production incidents. A GitHub Actions pipeline now blocks merges to main if the PHP lint or smoke tests fail, which means I dare to push hotfixes from my phone.
Impact
PolitiekPraat reaches tens of thousands of readers monthly, with peaks into the hundreds of thousands during elections. More important than the numbers: it has become my blueprint for building public products. No dark patterns, no tracking, no lock-in. Just readable, fast, and honest about what it is and isn't.
Highlights
- № 01Fully hand-written full-stack PHP platform (MVC, custom routing, no framework magic).
- № 02Live blog with real-time debate tool: readers respond to parliamentary moments as they happen.
- № 03Editorial CMS with user management, roles and moderation of comments and blog posts.
- № 04GitHub Actions CI: PHP lint and smoke tests must pass before merging to main.
- № 05Privacy-first: no tracking, no marketing cookies, production credentials only via env vars.
- № 06Custom polling module, parliamentary agenda and a facts & figures section with visuals.