Live MBO internship listings from stagemarkt.nl.
easystage continuously scrapes the stagemarkt.nl catalogue, tracks every listing over time, and serves it through a fast, filterable dashboard — so new internships surface the moment they appear.
- easy-scraper — the Cloudflare Worker that polls stagemarkt.nl, stores listings in D1, and exposes the JSON API at api.easystage.nl.
- easy-dash — the dashboard at easystage.nl: a Vite + React single-page app with list and map views.
A cron-triggered Worker fetches the full stagemarkt.nl result set on a schedule, diffs it against a D1 database to detect new and removed listings, and writes only what changed. The API serves server-side filtered, paginated queries — plus live counts and facets — and the dashboard renders them as a searchable list or an interactive map.