explaingit

rgbqcd/chess-coach

Analysis updated 2026-05-18

0PythonAudience · generalComplexity · 4/5LicenseSetup · hard

TLDR

A novelty system that lets you play blind, hands-free chess using bluetooth haptic devices for input and output.

Mindmap

mindmap
  root((Chess Coach))
    What it does
      Reads squeezes as moves
      Computes best move via Stockfish
      Buzzes the reply back
    Tech stack
      Python
      Stockfish
      Viam
      buttplug.io
    Use cases
      Play chess without a screen
      Get move suggestions via haptics
      Practice the encoding on a dashboard
    Audience
      Hobbyists
      Chess players

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play over-the-board chess with move suggestions delivered through haptic feedback instead of a screen.

USE CASE 2

Enter opponent moves using squeeze patterns read from a pressure-sensing bluetooth device.

USE CASE 3

Use a shortcut mode where the system suggests its top guesses instead of entering a full move.

USE CASE 4

Practice the squeeze and buzz encoding on a local web dashboard before playing without a screen.

What is it built with?

PythonStockfishpython-chessViambuttplug.io

How does it compare?

rgbqcd/chess-coach0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultyhardmoderatemoderate
Complexity4/52/54/5
Audiencegeneralgeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires two specific bluetooth devices, Viam server, and Stockfish, or fake hardware stand-ins for testing.

Use, modify, and share freely, including for commercial projects, as long as you keep the copyright notice.

In plain English

Chess Coach is a novelty project that turns over the board chess into a fully hands free, screen free experience using two bluetooth intimate wellness devices as its input and output. You feed your opponent's moves into the system by squeezing a bluetooth kegel trainer that has a built in pressure sensor, and the system reads your squeezes as short and long presses to figure out which move you are describing. Behind the scenes, the chess engine Stockfish works out what it thinks is the best reply, and the recommended move is buzzed back to you through a bluetooth vibrating device, using a pattern of short and long pulses similar to morse code, so no screen or camera is ever needed once you have learned the encoding. The project talks to these two devices through buttplug.io, an open source protocol and background app for controlling this kind of bluetooth hardware from other software, alongside a separate direct Bluetooth connection to read the pressure sensor, since that particular data stream is not yet supported through buttplug itself. All of this is packaged as a module for Viam, an open source robotics platform, so the kegel trainer, the vibrating device, and the chess logic each show up as their own component within a standard robot configuration, the same way a normal sensor or motor would. Moves are encoded as four short groups of counted squeezes or buzzes, representing the starting square and the destination square of a piece, so every move maps to an unambiguous sequence of numbers. Because counting eighteen or more squeezes per move can get tedious, there is also a shortcut mode where the system buzzes out its own ranked guesses for what move you are trying to enter, and you confirm, reject, or nudge each guess with a quick response instead of spelling the whole thing out. For setup, practice, and debugging while you learn the system, the project also runs a small local web dashboard that shows the status of each connected device and lets you rehearse the squeeze and buzz patterns before playing blind for real. The project is written in Python, relies on Stockfish and the python-chess library for the actual chess logic, and is released under the MIT license.

Copy-paste prompts

Prompt 1
Walk me through setting up the bluetooth devices and Viam module for this chess coach project.
Prompt 2
Explain how this project encodes a chess move as a sequence of squeezes and buzzes.
Prompt 3
Help me add a hardware-free fake input and output so I can test this project without the physical devices.
Prompt 4
Show me how the shortcut oracle mode narrows down guesses for a move I'm trying to enter.

Frequently asked questions

What is chess-coach?

A novelty system that lets you play blind, hands-free chess using bluetooth haptic devices for input and output.

What language is chess-coach written in?

Mainly Python. The stack also includes Python, Stockfish, python-chess.

What license does chess-coach use?

Use, modify, and share freely, including for commercial projects, as long as you keep the copyright notice.

How hard is chess-coach to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is chess-coach for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.