Skip to case study

Marcus Chess

Learn to see the next decision.

An interactive chess education platform connecting guided lessons, adaptive practice, playable Stockfish games and reflective game review.

Chess education / independent engineering project

Next.jsTypeScriptchess.jsStockfish 19Web WorkersVitestPlaywright

Who it is for

Beginning chess players learning to recognize threats and make considered decisions. The pedagogy is a design hypothesis awaiting educator and learner review.

The problem it solves

A correct move alone cannot show whether a learner understood the threat or memorized a board. Practice, feedback and assessment need distinct roles, with a path back from a real game to a focused exercise.

What I personally built

Built the lesson and adaptive-practice experience, browser-local progress, Stockfish worker integration, playable games, coached review and source-separated evaluation exports.

Guide, practise, transfer

Connected guided explanations to adaptive skill practice and separately recorded baseline, transfer and delayed checks, with validated versioned browser-local progress.

Play and review locally

Integrated the pinned Stockfish WASM worker for games, cancellation/restart and bounded analysis. Game reconstruction and selected-decision review lead into reflective retries.

Qualify coaching evidence

Added bounded tactical proofs and explicit uncertainty for alternatives, sacrifices and special moves. Opt-in timing and exports preserve the source of each observation.

How the product works

5 inspectable steps

Fresh screenshots and recording from the public Marcus deployment verified on 27 October 2026. Lesson and real Stockfish play use a new browser-local session. Technical references and earlier suite results remain pinned to Phase 2C; no learner outcomes are claimed.

Captured from the applicationTechnical demonstration; efficacy unvalidated
Notice a threat before moving in the public Marcus application; fresh browser-local session.
Fresh public deployment capture; isolated browser-local session.Inspect full image (opens in a new tab)

Choose a detail step to use zoom and dimming.

The public deployment now uses Marcus branding. This fresh capture shows its actual lesson; progress is confined to a new browser context.

Guided inspection

Step 1 of 5

Notice a threat before moving

The guided lesson explains a rook threat visually, then asks the learner to practise and check a new position.

Authentic application captures. These controls explore screenshot evidence; they do not operate the app. Use Zoom to evidence, dim the surroundings, or open the full-resolution image. The text transcript below works without JavaScript.

Read every walkthrough step as text
  1. 1. Notice a threat before moving

    The guided lesson explains a rook threat visually, then asks the learner to practise and check a new position.

    The public deployment now uses Marcus branding. This fresh capture shows its actual lesson; progress is confined to a new browser context.

    Inspect corresponding screenshot (opens in a new tab)
  2. 2. Practise a decision, not a click sequence

    Adaptive practice separates baseline, guided exercises, unfamiliar transfer checks and delayed review.

    Hint-assisted retries and familiar boards are not treated as independent evidence of mastery.

    Inspect corresponding screenshot (opens in a new tab)
  3. 3. Play an actual Stockfish game

    A local WASM worker provides legal engine responses through the UCI adapter. Players can choose a side and a descriptive difficulty preset.

    Presets bound engine resources and native skill. They are not calibrated human Elo levels.

    Inspect corresponding screenshot (opens in a new tab)
  4. 4. Reflect on a game decision

    Coached review reconstructs a game, selects decisions and offers reflection, candidate moves and qualified tactical feedback.

    This fresh capture reviews the actual browser-local demonstration game after a real Stockfish reply and resignation. Bounded proof does not establish strategic understanding or human coaching quality.

    Inspect corresponding screenshot (opens in a new tab)
  5. 5. Keep learning evidence interpretable

    The fresh Local results screen requires a completed baseline before showing results. Source-separated assessment export is supported by the earlier attributed verification.

    This fresh session has no completed assessment; the screen truthfully asks the learner to finish the check. No evaluation totals, real pilot or learning-effectiveness result is invented.

    Inspect corresponding screenshot (opens in a new tab)

Find a threat, then play Stockfish

Read-only public deployment verified on 27 October 2026. Lesson and game progress stay in a fresh browser context; all non-read HTTP methods were blocked. No measured learning improvement is claimed.

Actual Playwright recording · silent · native playback controls

Recording transcript

  1. Read Is Your Piece Safe?, start the lesson and identify the rook on d8.
  2. Read the real feedback and inspect the available learning practice.
  3. Start a new game against the real Stockfish worker, play e2–e4 and wait for its legal reply.
  4. Resign the demonstration game, open decision review and inspect local learning results and their limitations.

Read the Phase 5D capture and verification report

Inspect the mobile captures (390 × 844)
Marcus lesson and chessboard on mobile.
Marcus lesson and chessboard on mobile. Same capture environment as the recording.Inspect full image (opens in a new tab)
Marcus real Stockfish game after a legal engine reply on mobile.
Marcus real Stockfish game after a legal engine reply on mobile. Same capture environment as the recording.Inspect full image (opens in a new tab)

Difficult engineering decisions

Practice success is not assessment mastery

Hints, familiar positions and gameplay review stay separate from unfamiliar checks. Earlier exposure is excluded conservatively; a simulated delayed test is not a retention study.

A worker result needs a lifecycle

UCI lacks request IDs. Cancellation destroys the worker; generation checks reject late results. Bounded searches and explicit restart trade resources and speed against analysis depth.

Coaching must admit uncertainty

Mechanical attack facts cannot evaluate every sacrifice. Bounded mate proofs support qualified feedback; deeper tactical and strategic value remains unassessed. Descriptive difficulty needs actual beginner calibration.

Architecture behind the interface

Evidence, with boundaries

Read Phase 5 verification report

Upstream results below are attributed to their recorded checks. This portfolio change does not rerun every application suite.

Phase 2B unit and real-engine checks

The upstream Phase 2B report records 177 passing unit tests across 13 files and one default engine skip. A separate actual pinned-engine integration passed four presets and three benchmark searches. These are prior upstream checks, not rerun by this portfolio change.

Production browser checks

Phase 2B records 34 Chromium scenarios; the later Phase 2C report records 46 while preserving learning/engine logic. Lint, strict TypeScript and the isolated Webpack build passed in those recorded upstream checks. None establishes physical-device readiness or educational effectiveness.

Authentic current experience evidence

The retained Phase 2C captures show the real lesson, learning-practice entry, playable game, reflection review and local evaluation. Synthetic assessment totals and the 14-position benchmark are test material. No real learner pilot, retention improvement or 10× effectiveness has been measured.

What remains unverified

Working implementation and release readiness have different evidence requirements.

  • Educator review and a real learner pilot have not been completed. No measured learning improvement, calibrated Elo or validated 10× effectiveness is claimed.
  • Physical Android/iPhone, Firefox/WebKit, spoken screen-reader and battery/thermal validation remain pending. Chromium viewport checks do not substitute for those checks.
  • Bounded tactical proofs cover a constrained set of outcomes. Strategic exchange value, deeper tactics and beginner difficulty calibration need further review.
  • Earlier release evidence left Stockfish corresponding-source packaging and application licensing review unfinished. Public lesson and Stockfish playback now work at the verified URL; this capture does not establish closure of those release-compliance gaps.
  • Phase 2C adds a local source/build receipt and release configuration. Complete recipient-accessible Stockfish source/build inputs and an approved application licensing treatment remain unresolved; those preparation artifacts are not a completed public release.

Links point to the current committed Marcus source. Phase 2B and 2C reports are historical technical verification, not learner studies. The latest source contains release preparation, while licensing/corresponding-source and educational-validation gates remain open.