Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Solid Chess

This is a decentralized Chess game, build on top of Solid. No central sever is required to run or set up a game. All personal data about the game is stored on your POD. Requests to join a game are sent to the inbox of your opponent directly. You have two types of games: a non-real-time and a real-time game. With a non-real-time game all updates are sent to the inbox of your opponent, who can interact with it when (s)he wants. With a real-time game WebRTC is used to allow for a direct communication between two instances of the Web app.

The game is available in the browser and terminal. Check the live version or one of the following screencasts:

WARNING: The "Clear inbox" button removes all files with (chess) game data in your inbox! So be careful!


  • Code documentation can be found here.
  • If you want to know more about how the application interacts with different Solid PODs, you can read this.

What you can do

  • Create a new game, which will send a request to join to your opponent.
  • Join a game, which will send a response back to your opponent.
  • Continue a game you started earlier.

Used technologies/concepts/libraries


Web app

You can run the game locally by doing the following:

  • Clone this repo.
  • npm i: install Node.js dependencies.
  • npm run build:web: bundle the JavaScript via Webpack. The result can be found in web-app/dist/main.js.
  • Serve the contents of the root folder, e.g., via http-server.


  • npm i solid-chess -g: install the game.
  • solid-chess:launch the game.



© 2018 Pieter Heyvaert, MIT License