Inspiration

Captchas are really annoying. If only you could visit a site without selecting all of the squares that include cars. We think we have a better idea

What it does

Not My Type displays a text box and prompts a user to just mash the keys on their keyboard. Statistics that summarise the list of keyup/keydown events and timestamps are used as training data for a neural net, which can then be used to classify future input to determine whether a visitor to the site is a human or a bot.

How we built it

We used a JavaScript library called Brain.js to run the neural net in an Express NodeJS app. The frontend for the captcha input box is a React app.

Challenges we ran into

None of us had used neural nets before, so working out how to give it meaningful data to get accurate results has been difficult. We also found that it's fairly easy to write a bot that accurately-enough imitates human input.

Accomplishments that we're proud of

We got a neural net running as part of a web API, and made a cool user interface that could be used if the API was working.

What we learned

Neural nets aren't magic! In our naivety, we hoped that we could just shove a load of raw data into the neural net with its expected human/bot output and it'd somehow work out how to classify data in the future.

What's next for Not My Type

Ideally we'd like to make this actually work, i.e. classify humans/bots correctly. To do this we'd need to work out what meaningful characteristics of mashing the keyboard we can use as input data.

If we got it working, we think something similar to this would apply well to online comment fields, for example on YouTube or in forms.

Built With

Share this project:

Updates