Skip to content
A decentralized chess app build on top of Solid.
Branch: master
Clone or download
Latest commit 5e496b6 Jan 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin bug fixing Dec 8, 2018
diagrams update interaction text + figures Nov 12, 2018
lib catch event when opponent closes window Dec 20, 2018
web-app update changelog Dec 20, 2018
.gitignore set date in changelog Dec 20, 2018
favicon.ico bug fixing Dec 8, 2018
index.html add option to give up on real time game Dec 19, 2018
jsdoc.json set up jsdoc Nov 15, 2018
package.json 0.2.0 Dec 20, 2018
popup.html bug fixing Dec 8, 2018
webpack.config.js update index + fixing bugs using core for web app Dec 7, 2018

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

You can’t perform that action at this time.