Skip to content
Igor Miasnikow.

Adaptive knowledge platform · PWA and Android

EuroChallenge Quiz

The New European Strategies educational platform, which I designed and deployed single-handedly: 1,558+ questions across six specialisations, adaptive question selection, a learning mode with spaced repetition, decision simulations and server-side answer validation. It runs in the browser as a PWA and on Google Play.

Play in the browser (opens in a new tab)

01Situation

The starting point and the task

Knowledge quizzes usually test what the user already knows, and stop there. The goal was a tool that matches difficulty to the player's level, paces learning to the rhythm of forgetting and carries knowledge over into decisions in scenarios, while keeping the game fair: the answer key must never reach the browser.

02Actions

Actions, step by step

6 steps in the order in which the project was built.

  1. End-to-end production

    From prototype to a web application (PWA) with a manifest, a service worker and offline storage covering the entire question bank.

  2. Adaptive question selection

    An IRT 3PL model with Bayesian EAP estimation and Fisher information, which identifies the question with the greatest diagnostic value.

  3. Learning mode

    An FSRS-4.5 review schedule (17 parameters) calibrated with a Nelder-Mead optimiser, with automatic monitoring of model quality and anomaly detection.

  4. Backend on Supabase/Postgres with edge functions (Deno) as API microservices, server-side answer validation and rate limiting.

  5. LLM layer

    Hints and translations generated by a language model, with the answer key kept isolated.

  6. Distribution

    A browser version (PWA) and an Android app on Google Play.

03Anatomy

Anatomy of the project: EuroChallenge Quiz

The key elements and layers of the project in one drawing. Numbers lead to the descriptions; pointing at a description highlights its element.

Reviews · FSRS-4.5
Question selection · IRT 3PL
Edge functions · Deno
nes-quiz.com
EuroChallenge Quiz start screen with a globe and the question count
EuroChallenge Quiz
Geopolitics and defence
ABCD
50/50
  1. 1PWA with offline storageManifest, service worker (Workbox) and the full bank of 1,558+ questions available offline.
  2. 2Interface PL · EN · 中文Three languages; hints and translations from an LLM layer that never sees the answer key.
  3. 3Five ways to work with knowledgeA quiz with lifelines, flashcard learning, decision scenarios, 1v1 challenges and a ranking.
  4. 4Spaced repetitionFSRS-4.5 with 17 forgetting-curve parameters, calibrated with a Nelder–Mead optimiser.
  5. 5Adaptive question selectionIRT 3PL, Bayesian EAP estimation and Fisher information pick the most informative next question.
  6. 6Server-side validation26 edge functions; the correct answer and its explanation come back only after the player answers.
  7. 7Android on Google PlayThe Android app: Trusted Web Activity and Capacitor 8.
Interface and system layers: the browser (PWA), Android, edge functions and the two quantitative engines.Screenshot · 2026-10-23

04Result

The result in figures

  • Questions in the bank

    1,558+

    the entire bank available offline; as of 20 October 2026

  • Specialisations

    6

  • Interface languages

    3

    Polish, English, Chinese

  • Parameters of the FSRS-4.5 review model

    17

What was achieved

  • A production platform available free of charge and without ads in the browser and on Google Play.
  • 1,558+ questions across six specialisations: diplomacy and international relations, geopolitics and military affairs, finance and the economy, transport and energy, technology and cybersecurity, history and international organisations.
  • Fair play guaranteed by the architecture: the server returns the correct answer and the explanation only after the player has answered.
  • An interface in three languages: Polish, English and Chinese.
  • Modules beyond the quiz: learning with flashcards and a knowledge map, decision simulations with stakeholder reactions, 1v1 challenges, leagues and achievements.

05Lesson

“An educational product is only as good as the model that chooses the next question. I designed it as a measurement system: every answer updates the estimate of knowledge, and every review lands at the moment when knowledge begins to fade.”

Igor Miasnikow

06Details

Project details

Quantitative engines

Question selection is based on a three-parameter item response theory model (IRT 3PL). A Bayesian EAP estimator gauges the player's level of knowledge, and the next question is chosen by the Fisher information criterion: the system asks the question that, at that moment, says the most about the respondent's level.

The learning mode schedules reviews with the FSRS-4.5 algorithm, using 17 forgetting-curve parameters. The parameters are calibrated by a Nelder-Mead optimiser, and a psychometric monitor tracks model quality and flags anomalies.

  • IRT 3PL, Bayesian EAP estimation, Fisher information
  • FSRS-4.5 (17 parameters), Nelder-Mead optimiser
  • Psychometric monitor with anomaly alerts
  • A/B experiment framework

Architecture and security

The browser does not know the correct answers. An edge function handles the start of a game, each answer and the lifelines; it returns the correct answer and the explanation only after the player has answered. The backend consists of 26 Deno edge functions operating as API microservices, with rate limits.

The app runs as a PWA: a manifest with shortcuts to the quiz, learning, simulations and the leaderboard, a service worker and offline storage with the full question bank. Users delete their account and export their data themselves.

Features

The quiz is one of five ways of working with knowledge.

  • Quiz: 10 questions, four answers, lifelines (50/50, expert hint, category, second life)
  • Learning: flashcards, spaced repetition, knowledge map
  • Scenarios: decision simulations with a decision tree and stakeholder reactions
  • Real-time 1v1 challenge
  • Leaderboard, leagues and more than 30 achievements

07Technology

Technology and tools

The technology stack on which I built and run the product.

App and distribution

  • PWA: Web App Manifest, service worker (Workbox), offline storage
  • Android: Trusted Web Activity and Capacitor 8
  • Lovable (build and hosting)

Backend and data

  • Supabase (Postgres, Auth, Storage)
  • 26 Deno edge functions
  • Server-side answer validation
  • Rate limiting

Quantitative engines

  • IRT 3PL, EAP, Fisher information
  • FSRS-4.5, Nelder-Mead optimiser
  • Psychometric monitor, anomaly detection

AI and languages

  • Gemini Flash Lite (hints)
  • LLM for translations
  • PL, EN, 中文 interface

09FAQ

Questions about EuroChallenge Quiz

01.

What is EuroChallenge Quiz?

An educational platform of the New European Strategies Foundation with 1,558+ questions in six specialisations, from diplomacy and geopolitics to technology and cybersecurity. It combines a quiz with adaptive question selection, a learning mode with spaced repetition, decision simulations and 1v1 challenges. It was designed and built by Igor Miasnikow.

02.

How does EuroChallenge Quiz choose the next question?

Selection is based on a three-parameter IRT model (3PL): a Bayesian EAP estimator measures the player's level and the Fisher information criterion picks the next question. The learning mode schedules reviews with FSRS-4.5 and its 17 parameters, calibrated with a Nelder–Mead optimiser.

03.

Where can I play EuroChallenge Quiz?

In the browser, as a PWA at nes-quiz.com (with the full question bank available offline), and in the Android app on Google Play. The platform is free and ad-free, with an interface in Polish, English and Chinese.

04.

Can the correct answers be read in the browser?

No. The answer key never reaches the browser: an edge function returns the correct answer and its explanation only after the player answers, and requests are rate-limited.

10Related

Related projects

All projects

Project

Let's build a similar digital product

An educational platform, an internal tool or a data-driven app. Describe the starting point, the goal and the timeline.