Have you ever left your laptop open and seen your Facebook hacked none other by your friends? We have. And our friends have posted some really embarrassing stuff. But that’s okay because we know it’s a joke. But let’s think bigger. Everything is linked to software nowadays. Companies like Google and Facebook have software that millions of people and industries are dependent on. There are many people who work to make their software more efficient. Yet, there are always people who aim to add their own code to worsen the software, impacting the people dependent on the software negatively. No security system is perfect and there will be a time when it’s exploited. Can anything be done to protect computers and software code when random people start accessing them? Introducing TyperNoTyping.

What it does

TyperNoTyping is a service that runs in the background, observing and analyzing typing patterns. When it notices discrepancies between the current user and the user previously profiled (the owner of the laptop), the service locks the computer.

The service starts with a profiling period of a user, in which the user gets to choose how long they want to profile themselves. The time it takes to type a word is measured and that data is stored in the user’s own personal word-time dictionary.

Once the profiling period is over, the service is ready to lock down the computer when it notices that there are anomalies in the current user’s typing pattern.

How we built it

The service was coded completely in Python. We used a simple classification model to train the classifier.

Challenges we ran into

Creating the classifier, which classifies anomalies in typing patterns, without having a lot of data.

Accomplishments that we are proud of

Making it work and engineering features to train a simple classification model given less data.

What we learned

We learned that Python variable scoping is very different than Java. We learned that if you don’t have a lot of data to train a large model, you can engineer features to train a shallower model using less data.

What's next for TyperNoTyping

Collect more data (a lot more), improve the classification model through more training, and eventually launch the service.

Share this project: