User's Meetup events
Tinder-like interface for attendees and their skills
Swipe-right shows commons interests
Chat screen with harassment prevention
NLP Sentiment Detection Warning
I've always had social anxiety trying to network at events, such as large Meetups or even this hackathon! It's always hard to know who to talk to. Wouldn't it be great to be able to connect with other people with similar interests before going in an easy way? Then you can arrange to meet before or after the event! Meetinder provides an easy interface for people attending any event to connect with like-minded attendees, and chat with them. For this hackathon, people could have used it to form teams, as an example.
The #HackHarassment presentation also really hit a chord, as I know lots of adults, including myself, are still subject to harassment on chat apps. In Meetinder, I've implemented a zero-harassment policy, starting with banning any racial slurs, and warning users if pretty negative statements are detected.
What it does
The Meetinder mobile app shows you a list of events you are registered for, currently just Meetup.com events, but can expand to others in future. Once you select an event, it will show a Tinder-like interface, where each card is someone also registered (in future will only be if you have common interests). If you swipe-right on the person, it will show you their interests (in future this will just be common interests). You can then choose to message them. The message screen shows you some fake people currently, and if you click on a person, it'll open a chat screen. The chat screen will allow you to type is messages, but only if it doesn't violate the zero-harassment policy (starting with banning of any racial slurs). The chat message also uses sentiment analysis to try to detect negativity statements, but only warns the users if extremely negative statements are found.
How I built it
Started with an existing Tinder clone (https://github.com/VctrySam/Tinder), which had the swipe cards with some fake data set up. Below are the functionalities I've added:
1) List of my Meetup.com events through Meetup API 2) Once clicking on an event, it'll show you cards of the actual Meetup attendees (through API), and what skills they have 3) In mock-messages screen, once you click on a person, it opens a Chat component that I implemented 4) Chat component will only show the new messages you type first 5) Each chat message is scanned for inappropriate language (starting with racial slurs). If any harassment is detected, an Alert pops-up warning user of violation, and message is never displayed 6) Scraped http://www.rsdb.org/full website for all known racial slurs. If a message contains the slurs, it will be banned 7) Used 3rd party sentiment analysis API (https://market.mashape.com/mtnfog/cloud-nlp#) to assess the sentiment score of each message 8) If a sentiment is fairly negative, then the user will be warned (but the message is still allowed to show)
Challenges I ran into
React-native is still quite new, so a lot of issues getting things to work. Often still need to go into Xcode to set up parameters or configure things. Also want to use Google Cloud Natural Language API, but probably won't be able to with react-native at this point.
Accomplishments that I'm proud of
I would personally love to have this app to help me overcome some social anxiety of networking, and allowing me to connect with others at Meetup events. Furthermore, as a double minority (gay Asian man), I've definitely been subject to a lot of racist comments online. I've had the opportunity to speak to a CEO of one of the dating apps, and they just say their policy is to let users report issues. However, clearly the technology exists to minimize harassment online, but the companies are choosing not to implement safeguards for fear of losing users. To me, this is ridiculous, and my app proves how easy it is to implement some safeguards.
What I learned
What's next for Meetinder
I might spin this off to just be a zero-harassment dating app so that people can truly feel they have a Digital Safe Space to meet others.