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
- brain.js
- express.js
- javascript
- neural-nets
- node.js
- react
Log in or sign up for Devpost to join the conversation.