The web application, written in NodeJS, uses a serial connection to communicate with a small piece of hardware, a Seeed XIAO nRF52840. Setting up the hardware takes 3 steps:
The software has been written by Quintin Balsdon (me) both for the main software and the Seeed XIAO nRF52840. Node.js is used for the main user interface and the firmware code is writtent in Arduino C++.
The Seeed XIAO nRF52840 provides the Bluetooth Low Energy keyboard interface. You can download the Arduino Hex file to write to the Seeed XIAO nRF52840 if you want to build one yourself. The 3D Print design was done by me in TinkerCad.