KeyGlow CLI Tool
- 5 Devlogs
- 11 Total hours
I am building a simple CLI tool called KeyGlow, with a heatmap and counting of keys pressed on your (yes your keyboard if you are interested enough to install it) ʕ•ᴥ•ʔ
I am building a simple CLI tool called KeyGlow, with a heatmap and counting of keys pressed on your (yes your keyboard if you are interested enough to install it) ʕ•ᴥ•ʔ
Hello everyone, I hope you are all doing great!
After a lot of coding, debugging, testing and polishing, KeyGlow is finally ready to be released.
This project started as a simple idea: create a fun keyboard statistics tool that allows people to understand their keyboard usage without becoming a keylogger.
The last stage of development was focused mostly on polishing the project and preparing everything for release.
At this point, instead of adding more features, I decided to focus on reliability and making sure the existing features worked properly.
Some of the final improvements included:
A big part of software development is not only creating new features, but making sure other people can actually use what you built.
During the final hours of development, I focused on improving the overall experience.
Some smaller additions made KeyGlow feel much more like a complete application:
keyglow logokeyglow infokeyglow jokeOne of the biggest milestones was turning KeyGlow from a project running only on my machine into a real Python package.
The project went from:
“A tool that works only for me”
to:
pip install keyglow
And I am glad I managed to release it, as I have never done such thing before.
I need to admit, that I used AI for this project, however, biggest part of it was done fully by myself.
I used AI to learn about Typer library commands, and tables from Richer library, I also used it a little bit to validate the process of monitoring the keys, all that to ensure the project is indeed safe to deploy.
It is a small project built around a simple idea: showing people interesting statistics about something they use every single day - their keyboard.
But building it was a great experience.
The project went through the full process:
That’s quite a long devlog, isn’t it ʕ•ᴥ•ʔ
I really hope you will like it and review it positively 🤍
Hello everyone 🤍
I hope you’re all doing great!
Just a little development update on KeyGlow.
Over the past few days I’ve been working on polishing the project instead of constantly adding new features. My goal from the very beginning has been to make KeyGlow feel like a real, reliable CLI tool rather than just another weekend prototype.
For anyone who hasn’t seen it before, KeyGlow is a privacy-first keyboard usage analyzer. It generates keyboard usage statistics and a simple heatmap while never storing what you type. No typed text, no passwords, no key sequences - only anonymous key frequency counters stored locally on your own machine.
Since the last update, quite a lot has changed:
• I added real-time keyboard monitoring.
• I implemented automatic saving while monitoring.
• Added keyboard and mouse inactivity detection with configurable timeout.
• Added the ability to disable automatic shutdown when desired.
• Improved local storage by moving everything into a dedicated ~/KeyGlow/ directory.
• Added JSON, CSV and TXT export support.
• Added an information command displaying database size, stored keys, total presses and other useful details.
• Added confirmation before deleting collected data, along with a –force / -f option for power users.
• Improved error handling for corrupted databases and invalid data.
• Added automatic creation of missing storage/export directories.
• Cleaned up dozens of small edge cases and improved the overall stability of the application.
• Wrote a complete README and documentation.
• Added a completely unnecessary but absolutely essential keyglow joke command because every CLI deserves at least a little personality.
At this point, most of my work isn’t about adding new features anymore (though it is tempting not gonna lie)-it’s about making sure the tool behaves correctly in every situation. That means testing fresh installations, handling invalid input gracefully, making the CLI feel polished, and improving the overall user experience.
The project is now very close to its first public release.
Before I publish it, there are only a few things left to finish:
Once that’s done, anyone will be able to install it with a simple:
“pip install keyglow”
I’m genuinely excited to finally share this project. It started as a small idea and slowly grew into something that feels like a proper open-source tool. There’s still plenty of room for future improvements, but I’m really happy with where it is today.
Thank you to everyone following the development so far. I can’t wait to release KeyGlow and hear what people think! 🤍
Devlog #2
What’s up, I hope you all are doing great 🤍
Still working on my KeyGlow ʕ•ᴥ•ʔ
I want to perfect it as much as I can.
Recently, I added a privacy model, and inactivity detector which I will talk about in the next devlog!
Stay tuned for more if you like CLI Tools like this one ʕ•ᴥ•ʔ
I just finished the basics of my CLI Tool.
Proud to say I did it mostly by myself ʕ•ᴥ•ʔ
This will probably be kind of epic after release, though I still need to work a lot.
Things I menaged to do easily:
Things I struggled with so far:
We all love CLI, riiiiight?