Introduction—Typing Practice w/ Machine Learning
Articles in this series:
The finished project is located here: https://www.bayanbennett.com/projects/rnn-typing-practice
Making so many mistakes while typing is not only frustrating, but also a waste of time as a programmer. I've taken some time to learn how to be a better typist through some websites, like keybr.com. However, I noticed that after a while, my left hand was being used more than my right. I had become comfortable just using two fingers on my right hand because it never got enough practice.
Over the last few years, I've developed a better understanding about the basics of machine learning (ML) and I'm always on the lookout for simple and useful applications.
Objective
Create an application that can generate English-like words that is weighted according to how unskilled the user is at typing combinations of keys.
Tools
- TensorflowJS: Machine learning library
- React: To accept inputs and manage the site
- Web Workers: To offload the calculations onto another thread
Procedure
- Create a ML model that can generate English-like words
- Create a page that can take a keyboard input
- Add weights to the model output that correspond to the time between keystrokes
- Use Web Workers so that the computationally intensive tasks are not blocking rendering