You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
motief/STRATEGY.md

3.3 KiB

name last_updated
Stemwijzer 2026-05-04

Stemwijzer Strategy

Target problem

Voters in the Netherlands lack accessible, data-driven tools to understand how political parties actually vote in parliament versus how they present themselves. Existing voting compasses are either static (updated once per election cycle) or based on party self-assessment rather than real voting records.

Our approach

Build the most transparent, data-grounded political compass by ingesting every parliamentary vote from the Tweede Kamer's public API, computing latent political dimensions via SVD, and letting users vote on real motions to see which parties actually align with their positions — not just what parties claim.

Who it's for

Primary: Politically curious Dutch voters who want to move beyond party branding and understand actual parliamentary behavior. They're hiring Stemwijzer to make an informed voting decision based on data rather than rhetoric.

Key metrics

  • Motion coverage — Percentage of parliamentary motions ingested and available for voting; measured in data/motions.db
  • User-session completion rate — Share of users who vote on at least 10 motions before exiting; measured via Streamlit session state
  • Party-match accuracy — How well the SVD-derived party positions predict actual voting alignment; measured via cross-validation on held-out motions
  • Pipeline freshness — Days since last successful pipeline run (fetch → embeddings → SVD); measured via scripts/health_check.py
  • Exploration depth — Average number of tabs visited per session (compass, trajectories, SVD components); measured via Streamlit

Tracks

Data pipeline reliability

Make the data ingestion and analysis pipeline robust enough to run unattended and recover from failures.

Why it serves the approach: The entire product depends on accurate, up-to-date voting data. If the pipeline breaks, the compass becomes stale and untrustworthy.

Analytical depth and transparency

Deepen the SVD analysis and make the political dimensions interpretable and explorable — not just a black-box score.

Why it serves the approach: Users need to trust and understand why parties are positioned where they are. Raw scores without explanation are no better than party branding.

Agent-native architecture

Restructure the codebase so that agents can safely explore, test, and modify it without human hand-holding — comprehensive tests, clear contracts, and self-documenting structure.

Why it serves the approach: A data-driven product requires constant iteration on analysis methods, visualizations, and feature experiments. Making the codebase agent-native enables rapid, safe iteration.

Not working on

  • Mobile native apps — the web-based Streamlit UI is sufficient for the target audience
  • Social features (sharing, leaderboards, discussions) — the product is a research tool, not a social network
  • Predictive modeling of election outcomes — the focus is on transparency of past/current voting, not forecasting
  • Multi-language support — Dutch parliament, Dutch voters, Dutch UI

Marketing

One-liner: Stemwijzer — vote on real parliamentary motions and discover which parties actually match your politics.

Key message: Every vote in the Tweede Kamer is public. We compute the patterns, you discover where you fit.