Skip to content
Naoufal Andichi
Projects/platform

PolitiekProfiel

An independent Dutch political compass across five dimensions — no party ranking, no tracking.

No image

Why another political compass?

Voting advice tools and left-right axes measure political attitude on one dimension, sometimes two. That's a caricature. Someone can be economically left and culturally conservative, or economically right and libertarian on civil rights. PolitiekProfiel measures on five independent dimensions, without pigeonholing the user and without a party ranking.

Politics is more than left or right. Five independent dimensions, no caricature.

The five dimensions

Economic (free market ↔ strong state), social-cultural (conservative ↔ progressive), civil rights (authoritarian ↔ libertarian), governance (national ↔ international), and system trust (distrust ↔ trust in media, science, judiciary and democracy). Per dimension, in addition to a score, a confidence (0–100) is calculated based on coverage, intensity and consistency of your answers.

Adaptive quiz

Not everyone sees the same statements. The quiz starts with a broad calibration (10 questions, 2 per dimension), then specifically chooses questions that sharpen dimensions where your score still hovers around zero, and ends with consistency checks that may surface paradoxes. Hard-capped per tier (quick 30 / standard 50 / extended 80). Answers stay in localStorage so a session can be resumed seamlessly.

Privacy as a principle, not a feature

Political preference is a special category of personal data under GDPR Art. 9. That demands deliberate choices: no tracking, no account, no marketing cookies, no IP storage, no user-agent in the logs. Only aggregated dimension scores are stored anonymously in Firestore with a nanoid(10) share-id. Right-to-erasure via an email address that only exists for that purpose.

Built to be read by AI

The site is deliberately designed to be readable by humans and AI agents alike. OpenAPI 3.1 spec on /api/docs, RFC 9727 api-catalog on /.well-known/api-catalog, explicit robots.txt rules for 18 AI crawlers, markdown content negotiation via Routing Middleware, and WebMCP tools registered in the browser on every page load. An agent can start the quiz or open a result without scraping.

AI only where it can be responsible

AI is used at build time to generate ~210 content slots: essays per ideology, reading lists, arguments for and against, explanations per dimension bucket, and how an ideology views a theme. Fully idempotent, with an audit trail per slot (prompt, model, date, humanEdited flag). At runtime there is no AI call with user data.

Highlights

  • 01Five independent dimensions (economic, social-cultural, civil rights, governance, system trust) on a -100 to +100 scale.
  • 02Adaptive quiz: not everyone sees the same statements — the engine selects follow-up questions to sharpen unclear dimensions.
  • 03Paradox detection and per-dimension confidence scoring based on coverage, intensity and consistency.
  • 04Build-time AI content (~210 slots) — no runtime AI calls, never with user data.
  • 05Privacy by design: no tracking, no account, no IP storage, anonymous results in Firestore.
  • 06Agent discovery: OpenAPI 3.1, robots.txt for 18 AI bots, RFC 9727 api-catalog, markdown content negotiation, WebMCP browser tools.
  • 07Full editorial environment via Payload CMS 3 + Neon Postgres for statements, ideologies, politicians and countries.
  • 08Vitest unit tests on the scoring engine, themes and paradox modules.

Related projects.