Skip to content

How the DataLab works

The DataLab looks like a full learning platform, but it runs on almost no infrastructure — by design. This page explains how, for EURIDICE partners and anyone who wants to host or extend it.

The whole product is a static website: HTML, JavaScript, CSS, notebooks and CSV files. The Python that learners run is executed inside their own browser by Pyodide (CPython compiled to WebAssembly), packaged as JupyterLite. There is no compute server, no database, no user accounts — the learner’s laptop does the computing.

  • Cost ≈ €0. Hosting static files is free (GitHub Pages, Netlify, any university web server). Ten learners or ten thousand — same cost, because their machines do the work.
  • Privacy by default. Nothing a learner types leaves their device. No accounts, no tracking, nothing for GDPR to worry about beyond ordinary web-server logs.
  • Zero maintenance. No servers to patch, no kernels to restart, no capacity planning.
  • Trivial handover. “Hosting the DataLab” means serving a folder of files. Any EURIDICE partner can mirror it.
CapabilityWhere it runsBackend needed?
Lessons, navigation, downloadsStatic site (Astro Starlight)No
Notebooks: pandas, matplotlib, scikit-learnLearner’s browser (Pyodide/WASM)No
Auto-checked exercises with hintsLearner’s browserNo
Saving workLearner’s browser storage + file downloadNo
Portfolio export (judgments + model card)Learner’s browser — built as one downloadable fileNo
Official assessment & microcredential issuanceMoodle at a partner universityYes — by design

The last row is deliberate: the DataLab handles learning serverlessly, and plugs into EURIDICE’s existing Moodle-in-the-loop for the part that genuinely needs identity and record-keeping — graded submissions and credential issuance. See Earning a microcredential.

  • First load downloads the Python runtime (~10–20 MB); slow connections feel it once, then it’s cached.
  • Browser Python is CPU-only and slower than native — perfect for learning-scale data (thousands of rows), not for training deep neural networks on gigabytes.
  • No shared leaderboard without a backend. If EURIDICE wants competitions later, that’s a Moodle plugin or a small service — the site doesn’t need to change.

Astro Starlight (site) · JupyterLite + Pyodide (in-browser Python) · synthetic teaching datasets generated with seeded scripts · deployable to any static host.

Co-funded by the European Union

Co-funded by the European Union under the Digital Europe Programme — projectEURIDICE, Grant Agreement No. 101123121. Views and opinions expressed are those of the author(s) only and do not necessarily reflect those of the European Union or the European Commission. Neither the European Union nor the granting authority can be held responsible for them.
Built by IIIM — Icelandic Institute for Intelligent Machines. Learning materials are licensedCC BY 4.0.