Skip to content
M-NikoxPublic

About

Private, client-side chess workstation with local Stockfish WASM analysis, game review, blunder workouts, and branching tree exploration.

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

PostMatem Logo

PostMatem

Client-Side Chess Workstation and Game Review Studio

Release CI License


Overview

PostMatem is a private, client-side chess workstation providing real-time game reviews, blunder workouts, branching move tree analysis, and engine sparring. The platform runs entirely within the browser via WebAssembly (WASM) and multi-threaded Web Workers, requiring no server-side computation, user accounts, or telemetry.

Features

  • Client-Side Engine Execution: Stockfish 19 and 17 Lite NNUE run locally inside sandboxed Web Workers with no external evaluation requests.
  • Game Review and Move Classification: Move classification based on an Expected Points Lost ($\Delta\text{XP}$) model, detecting Brilliant sacrifices, Great moves, Best moves, Inaccuracies, Mistakes, Blunders, and Misses.
  • Blunder Workout: Interactive puzzle generator that rewinds the board to critical errors, tests refutations against Stockfish, and provides progressive hint tiers.
  • Advantage and Win-Rate Chart: Continuous win-percentage curves over the course of the game with interactive move scrubbing.
  • Versus Engine Sparring: 20 calibrated Elo rating tiers across Casual (hints, evaluation bar, takebacks) and Competitive (strict touch-move rules) modes.
  • ECO Opening Book: Searchable catalog of over 3,000 opening variations with one-click analysis board loading.
  • External Match Importer: Direct PGN retrieval from Lichess and Chess.com public user feeds.
  • Export Formats: Standard annotated PGN export with Informant NAG glyphs, and 1200x630px social summary cards.
  • Local Persistence: Offline game archiving and evaluation caching powered by IndexedDB.

Keyboard Shortcuts

Key Action
Right / Space Advance to next move
Left Return to previous move
Up / Home Jump to start of game
Down / End Jump to end of game
Z / Ctrl + Z Takeback move (Casual mode)
F Flip board perspective
E Toggle evaluation bar
H Toggle best-move suggestion arrow
B Toggle move classification badges

Architecture & Tech Stack

Getting Started

Prerequisites

  • Node.js 18 or higher (Node.js 20 LTS recommended)
  • npm, pnpm, or yarn

Installation

git clone https://github.com/M-Nikox/PostMatem.git
cd PostMatem
npm install

Development Server

npm run dev

The application will be accessible at http://localhost:5173.

Production Build

npm run build
npm run preview

Optional Full NNUE Engine (Local Setup)

PostMatem defaults to the single-threaded Stockfish 19 Lite WASM binary (~1.7 MB). To copy and enable the uncompressed 99 MB full neural network binary locally:

npm run setup:engines:full

Deployment

PostMatem produces static assets compatible with any static hosting provider. The build output requires standard WebAssembly cross-origin isolation headers (Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: credentialless).

  • GitHub Pages: Automated deployment is configured in .github/workflows/deploy.yml.
  • Cloudflare Pages: Set build command to npm run build and output directory to dist. Preconfigured via public/_headers.
  • Vercel: Configuration and security headers are specified in vercel.json.
  • Netlify: Configuration and security headers are specified in netlify.toml.

Credits and Attributions

PostMatem incorporates work from the open-source chess and software community:

  • Stockfish: Chess engine by Marco Costalba, Joona Kiiski, Tord Romstad, Stéphane Nicolet, and the Stockfish development community (GPLv3).
  • Stockfish.js: WebAssembly engine port by nmrugg and contributors (GPLv3).
  • CentiChess: Architecture reference for Web Worker engine pools by Cooper Ross (CC0 1.0).
  • Chesskit: Reference architecture by GuillaumeSD.
  • Lichess: Mathematical win-rate model and ECO dataset (AGPLv3 / CC0).
  • Colin M.L. Burnett: Staunton vector chess pieces (CC BY-SA 3.0 / GFDL).
  • RhosGFX: Themed piece artwork and board illustrations.

Detailed license information and original links are available in CREDITS.md.

Author

License

PostMatem is free software licensed under the GNU General Public License v3.0 (GPLv3). Stockfish engine binaries in public/engines/ are distributed under the GNU General Public License v3.0 (GPLv3).

About

Private, client-side chess workstation with local Stockfish WASM analysis, game review, blunder workouts, and branching tree exploration.

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages