I need to implement an endpoint with data science logic to match the user with other users based on some criteria. The backend is being implemented in NodeJS with Express and MongoDB, and all the information are being stored locally at start.
The problem here is that we can have millions of users and we need to filter them to show up in a mobile app.
Initially we have thought on implementing a neural network with our data model to predict, calculate and show users to our users, with whom they can match with (you can think it as a Tinder).
Thinking that we have a Tinder application, our business rule would be that we need to show male users to female users, and vice-versa, so they can Like or Dislike each other. But they can have some criteria on who they want to connect with, such as age, occupation, location, height etc (some of them are more important than others). With that, the neural network would have to match users that would be *likely* to like each other, but after some time when we have few users to show to that specific user, we need to start showing people that do not match 100% of their criteria, like a classification, ELO score or something like that.
The job would consist in creating that neural network, connecting it with our backend (with is already being implemented in Nodejs+express+mongodb), so that when we send a request to the /search endpoint, for example, we will have 5, or 10, or 15 people that the user would probably like.
We can also in the future use the output of our google analytics to enhance the neural network as well
Category: IT & Programming
Subcategory: Data Science
Project size: Small
Is this a project or a position?: Project
Required availability: As needed