gitwtfhub

wtf is keystrokes?

aetherwing-io/keystrokes — explained in plain English

Analysis updated 2026-05-18

10JavaScriptAudience · developerComplexity · 2/5Setup · moderate

TL;DR

A generative lofi music engine that turns your keystrokes, and even your AI coding assistant's output, into an ever-playing soundtrack while you work.

Mindmap

mindmap
  root((keystrokes))
    What it does
      Turns typing into music
      Generative lofi engine
      Reacts to assistant text
    Tech stack
      JavaScript
      Node.js
      Python
    Use cases
      Ambient work music
      Session soundtrack
      Replay saved sessions
    Audience
      Developers
      Vibe coders
    Setup
      One command install
      macOS permission needed

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

Why would anyone build with this?

REASON 1

Play ambient lofi music in the browser that reacts to your typing.

REASON 2

Run a local session soundtrack that turns a Claude Code or Codex session into a two-voice musical duet.

REASON 3

Add a git post-commit hook so commits trigger their own musical flourish.

REASON 4

Replay a past coding session as an exported WAV audio file.

What's in the stack?

JavaScriptNode.jsPythonWeb Audio API

How it stacks up

aetherwing-io/keystrokesagi-ruby/ai-gpt_image2-seedance_2.0-video-skillsarindam200/wisprgemma
Stars101010
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasymoderate
Complexity2/51/53/5
Audiencedevelopervibe codergeneral

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

How do you spin it up?

Difficulty · moderate Time to first run · 30min

macOS requires granting Accessibility permission before the key tap can hear typing.

Wtf does this do

Keystrokes is a small JavaScript project that turns your typing into music. Instead of choosing which sounds to play, your keystrokes steer a generative lofi engine that always stays in key and on the beat. Typing supplies rhythm and energy while the underlying music theory runs automatically in the background. There are two ways to use it. A browser version runs entirely on a web page: you type into it and it plays sampled piano notes, swung drums, and vinyl crackle, with nothing saved or sent anywhere. A local version, started with a single script, listens to your keystrokes across any application on your computer, and adds a second melodic voice built from text generated by AI coding assistants such as Claude Code and Codex, played back panned to one side. The local setup runs a small system: a program watches your keystrokes, a lightweight local server coordinates everything, and a browser tab renders the actual sound using the Web Audio API. Getting started is a single script that checks for git, node, and python, then opens a local hub in your browser. On a Mac, you need to grant your terminal permission to monitor keystrokes before the tap can work, the other pieces also run on Linux and Windows, sometimes with a few manual steps instead of the one-command install. You can choose from several musical styles, from lofi tape to arcade chiptune to a slower rainy day mood, and adjust how busy the melody gets. The local version also reacts to your actual coding work: running a terminal command, hitting an error, a test passing or failing, and making a git commit each trigger their own small musical cue. Every session is automatically recorded as a set of sound events rather than text or keystrokes, and can be replayed later from a saved list, either in the browser or on your own machine. This is a personal, playful tool rather than a productivity app, built for people who want ambient music that responds to the act of typing and working.

Yoink these prompts

Prompt 1
Help me set up keystrokes on my Mac and grant the Accessibility permission it needs.
Prompt 2
Show me how to add a git post-commit hook that sends an event to the keystrokes hub.
Prompt 3
Explain how the keystrokes engine turns typing into musical notes and chords.
Prompt 4
Help me switch keystrokes to the Arcade style and understand what the density setting controls.

Frequently asked questions

wtf is keystrokes?

A generative lofi music engine that turns your keystrokes, and even your AI coding assistant's output, into an ever-playing soundtrack while you work.

What language is keystrokes written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, Python.

How hard is keystrokes to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is keystrokes for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.