We were interested in developing our hardware skills and felt it would be fun to combine natural language processing and Twitter streams to understand people's opinions regarding different topics.
What it does
Our app lets users enter a topic via our android app. The topic is then used as the constraints to sift through live tweets. The live tweet that contains the search term are then analyzed for positive or negative sentiment. The results of this analysis is sent to a particle core where different colored leds are flashed at varying speeds. The rate at which the lights flash is based on how polarized the sentiment values are. For instance a topic with a strong negative sentiment would cause the orange LED to blink progressively faster, whereas a string positive sentiment would cause the blue LED to blink faster.
How we built it
We built the app using Flask for our backend. Our flask server has two routes. One for noun to image calls, and one for opening and analyzing twitter streams. Both routes depend on the input from our android application. When the flask server opens a new twitter stream sentiment data is posted to the spark-core web api, which calls LED updates methods for our cube.
Challenges we ran into
Hardware. None of us have ever worked with hardware before, so the learning curve was pretty steep. It was also difficult to find the components we needed. In addition the spark core would not allow us to flash custom web functions due to a firmware glitch with the latest version.
Accomplishments that we're proud of
We are proud about learning basic electronics. (Getting LEDs to light up from the web:p)
What we learned
We learned how complicated electronics are.
What's next for Flapjack
We hope to make a wireless acrylic cube case for the LEDs/Spark-Core so you could leave it on a table or somewhere around the house.