About PicoTap
I've always liked the sound of mechanical keyboards, but only the sound. I've tried using several, but I never adapt: after a few hours, I realize I'm making a lot of mistakes and typing slower, and I end up going back to the MacBook keyboard. It's more comfortable, I type fast and without errors. But they don't have the ASMR effect of a mechanical keyboard, so I tried to like them for a long time. Every time a new keyboard arrived, my wife had a comment about it, and I don't blame her.
Mechanical keyboard sound… without using one
Then I found an app called Klack and I liked it a lot. The idea was simple: play mechanical keyboard sounds while you type. It works well and, to be fair, those ~80MB of memory that Klack uses were acceptable; I considered it a lightweight app. Still, there was something that didn't convince me: it plays the sound on the active audio device. If you're using headphones, the sound comes out there; if you have external speakers, it does too. It feels weird because the sound should come from the laptop. At that point, I decided to make my own version, just as a personal challenge, to see if I could solve that, and also to see if I could make it even lighter using some tricks.
PicoTap basically does the minimum: listens for keyboard events and plays a sound. No heavy frameworks or complex UI, and the main decision is that the audio always comes out through the Mac's internal speakers, regardless of the active output, which makes it feel more natural. I also avoided depending on Apple frameworks, since showing a simple dialog would have required using AppKit (PicoTap is made in Rust), so, for example, the few dialogs the app needs (accessibility permissions and welcome screen) I show using osascript, just enough to not load more than necessary. It's super simple, but keeps the app as lightweight as possible.
For the sounds, I recorded one of my keyboards, a Lofree Flow Lite, instead of using something generic: