Inspiration

In an age of data-driven game apps, we wanted to create a game that would invoke the nostalgia of the SMS-dependent era. :thinking: is a game that uses text messages to connect many players together in a simple guessing game.

What it does

:thinking is a fun, collaborative game that allows an entire group to participate and compete. The goal of the game is to guess what the Clarifai api found in a certain image. Depending on the relevancy of their guess, they receive a certain amount of points, similar to family feud. The image is concurrently displayed on screen, accompanied by a leaderboard of the top ten scoring players, and sent to each individual that is currently participating.

How we built it

We searched the web for images that would provide a variety of features for both Clarifai and the players to guess. The images were preprocessed with OpenCV to make tagging and mms transfer faster and easier. These new images were sent to the Clarifai api and their top five resulting tags were stored in a MongoDB database. During the game, a random few images are chosen and displayed in rounds. Each round, players are able to participate using the Twilio api and provide guesses on what they think the Clarifai api found. These inputs were handled by a Flask web server using the background Python game. The website, which displays the current images and the current top 10 players, was built with jQuery, CSS, HTML, and AJAX.

Challenges we ran into

We had to handle a variety of issues with the flask api, including the timing for each round. We tried to utilize multiple Flask servers to distribute the workload, handling the timing on one server and the Twilio response handling on another. This was no able to function sine the timing server was not able to send a post request back to the main server.

Accomplishments that we're proud of

We were able to create a functioning image classification game that allows multiple players to participate in a friendly competition. Our use of Clarifai and MongoDB, along with Flask and JQuery was something we worked hard to get working together.

What we learned

We learned to utilize the different apis (Clarifai, MongoDB, Twilio) and multiple frameworks (Flask, JQuery, OpenCV, AJAX) and combine them to create a powerful, beautiful product.

What's next for :thinking:

We would like to expand it into a more capable system that can handle more players and work more seamlessly, and even with images in real time and even videos to add more possibilities.

Share this project:

Updates