Shortcutmon - shortcut monitoring tool

I recently finished building an MVP for an open source tool called shortcutmon (shortcut monitor), created to remind you of key combinations. Whether that’s a shortcut, code snippet, or even a word you want to say more.

Within this app you set your essential combinations (or in the future, have these automatically decided for you, based on application), application + reminder duration, then receive a notification if you have not used the phrase.

Looking at alternatives on the market, I found a few tools that were similar, but none that were exactly what I was looking for;

  • https://plugins.jetbrains.com/plugin/9792-key-promoter-x
    • This is very similar to the intent behind what I was building (actively detects when you're not using the most efficient way to do things), but it’s only available for JetBrains IDEs, and doesn'#t work for other applications
  • https://keycombiner.com/
    • A neat product, but doesn't detect if you’ve used the shortcut, but rather is more of a spaced repetition tool. The issue being just because you remember the shortcut / snippet, it doesn’t always mean you’ll actually remember to use it.

Regarding the tech-stack, I used Electron, React, and Typescript. This is my largest project using electron and I can say it was generally a good experience. The main issues I found were;

  • Electron does not support ES6 modules, only commonJS, which is why we must transpile the TS files into JS, before allowing the electron process to run it (typically we'd use ts-ignore, or just node with --experimental-modules, but this is not supported by electron).
  • an intermittent issue when building, whereby electron-active-window was not generating binaries for ubuntu or windows. Removing the `"postinstall": "electron-builder install-app-deps" from package.json before installing the native module allowed the windows binary to install correctly.

Project source and binaries can be found here (note: binaries are currently only available for windows).