Inspiration
Initially we wanted to create a generic recommendation tool that would present the user with things popular among their age range and gender e.g. hotel bookings, films etc. However, we later downsized the scale so that the tool only works for films.
What it does
The algorithm takes a data set of films popular among people of particular ages and genders, and uses machine learning to recognise patterns. When the user enters their age and gender, the algorithm uses the generated patterns to identify films that are popular with other people with similar attributes and suggests them to the user.
How we built it
The back-end machine learning algorithm was developed using Python and trained on a data set we created ourselves by making several assumptions on the films that people of particular age ranges would like, and the front-end website was created using Weebly. The website takes inputs, and, using some JavaScript code, feeds the inputs into the algorithm, returning a film suggestion.
Challenges we ran into
Writing the machine learning algorithm was a significant challenge as we needed a big enough data set for the algorithm to train on and recognise patterns in. Deciding what model to use to train the algorithm on was quite difficult. Initially we planned to add the users' nationality and country of residence as inputs, the idea being that if the user spoke multiple languages then the algorithm could recommend films in languages other than English. However, including those inputs would have meant that our starting data set would have to be huge in order for the algorithm to recognise pattern in it. This would have taken too much time, so we dropped the idea and only used age and gender as the users' inputs. Later we also encountered issues in processing the user inputs through the website, feeding them into the algorithm and then returning a film suggestion in a dialog box.
Accomplishments that we're proud of
The machine learning algorithm was our most significant achievement (considering that we are all first year students). Connecting the front-end and back-end to create a functioning website was also an achievement that we are proud of.
What we learned
We learnt that projects that seem conceptually simple can actually be incredibly difficult to implement. Initially we planned to return hotels that had been booked by people with similar ages, genders and relationship statuses to the user by navigating to a hotel's reviews on their Facebook page and then analysing each profile that wrote a positive review, attempting to identify a pattern between peoples' attributes. However this was incredibly difficult to implement in 24 hours so we scaled the project down, but even this was challenging.
What's next for Findex
Right now Findex is geared specifically towards films, but in the future we would like to see it generalised to become a search tool that recommends any type of product based on more user attributes. However, this will require many huge data sets and increasingly detailed algorithms to recognise patterns utilising various attributes.
Log in or sign up for Devpost to join the conversation.