There are plenty of social media apps out there for you to connect with other people. Even so, none of these apps are good platforms for people to speak and provide insights one-on-one with another individual about subjects and interesting academic/psychological topics of shared interest.

What it does

Our service is a web platform where a user can create an account/ a profile that stores contact information and more importantly their "status". What we call a "status" is a field where users can express their interests within a short paragraph. We then use their "status" along with the status of every other user to link users up with each other based on their interests. A user of the platform would be able to log in to the site, update/keep their status, and then be presented with a list of people who they might want to talk to.

How we built it

Database The information stored on our website is hosted by Amazon DynamoDB, an online database service. We store the information that is linked to every account using DynamoDB including their status and other backend information. DyanmoDB allows us to be confident in our database and always have quick access to it.

ML Natural Language Processing As for the searching and linking services, we used AWS Comprehend Natural Language Processing. Every time a user updates their status, AWS Comprehend is used to do an analysis of their paragraph to find Key Phrases and Entities within their writing. We use a system of prioritizing other users with the most matching phrases and entities within their status. From this, every user will be able to have a list of other users of the platform that would be a good match for them to discuss with.

Challenges we ran into

Using the DynamoDB database to store and access all of our information was a challenge for us, as we were completely new to this type of work. Specifically, keeping track of all the objects and data types within any information being parsed was difficult. However, we managed to overcome this after a lot of testing and brain-wracking.

AWS Comprehend was easy to use and get information out of. However, we had troubles deciding how we would use the analyzed information to best match up users with other users. In the end, we run a basic method that takes into account the amount of matching interests and the amount of unrelated interests.

Finally, setting up the website was also a little bit of a challenge. The website sign-up and log in systems took a lot of time and effort to get working.

Accomplishments that we're proud of

Our entire project consists of many different parts; a website, a login portal, a sign up, an online database, AWS Comprehend analysis and a load of JavaScript. We are proud of the fact that we managed to get all of these parts working together well. We are also proud of our use of AWS Comprehend API to match users with each other and our use of the online database DynamoDB instead of just working it out with local files.

What we learned

We learned a lot of JavaScript and an even greater lot of how to use API's like AWS Comprehend. We also learned how to use an online database like DynamoDB.

What's next for Mind Date

Next up, we'll introduce an improved, more streamlined UI to reflect the overall streamlined experience of our service. less distractions, less clutter. On top of all the bugs we need to fix, there is a huge possibility to improve the search engine using a different algorithm. Finally, user profiles might eventually be linked to platforms like LinkedIn so that users can easily set up their profile and see more information about who they're talking to.

Share this project: