DeveloperWeek: Hacking Valentine’s Day
DeveloperWeek: Hacking Valentine’s Day
Earlier last week, Team Amourx participated in DeveloperWeek 2015, which Mailjet was a sponsor of, and a mentor at.
Earlier last week, Team Amourx participated in DeveloperWeek 2015, which Mailjet was a sponsor of, and Developer Evangelist Tyler Nappy was present to mentor and hold a Mailjet API Challenge. There was a wealth of talent and the decision was tough, but ultimately Team Amourx took home the gold. Below is a recap of their product and instructions so that you can build your very own!
Table of content
Team Amourx capitalized on the upcoming Valentine’s Day holiday, knowing that some individuals would want to send anonymous love emails to their Valentine instead of traditional handwritten cards. Our team created a service that would enable users to do just that! Through a very-stylish front-end, users would be able to easily type their anonymous love emails (and save some trees in the process)!
On the flip side, we recognized that some lucky recipients may also be dealing with the issue of an overwhelming inbox of love-dovey emails. Sorting through hundreds of email can be is an enduring process for anyone. What if they could instead visualize how much love-sentiment is an individual email and use that in deciding whether or not to open? Below, we’ll describe how our team created this visualization.
HARDWARE & MATERIALS
1 Wifi-enabled electric Imp
15 LED lights
Lots of wires
Battery(to power electric imp)
Small battery to for testing connections
Chalk markers or paint
Knife to cut through the canvass
SOFTWARE & RESOURCES
Squirrel hosted on Electric Imp IDE
ngrok to run to expose a local web server to the internet
Natural Language Processing Algorithm:
To kick things off, our team worked on a natural language processing algorithm. This algorithm is also the primary connector to the electric-imp: if an email has enough sentiment, the hardware is triggered. The algorithm is based on a point system: a sentimental word carries a value. If the email includes those words, the points are added up for a sum.
Our team thought the Mailjet Parse API was perfect for our project. We used the Parse API and the results were sent to our natural language processing algorithm. Tyler was helpful in getting us acquainted with the API and assisted us overcoming some difficulties. Overall we loved the Mailjet API! We hope to continue this project and explore more of Mailjet’s APIs.
The Electric Imp API provides a set of classes and global objects with which imp code may access local hardware and remote cloud functionality. The API works with the Squirrel Library. Our team had some growing pains with the Electric Imp - on Day 1, we were experimenting with it and the Squirrel code but the hardware was unresponsive (probably went to hardware heaven). Fortunately, we had backup on the hardware (always back up your work, guys)! On Sunday morning, we went back to work with the new Electric Imp, not without some difficulty, but we prevailed!
Our team wanted recipients to have a stylish object that would react when detecting “lovey” emails. Malina had an extra canvas, so our team decided to use that as the medium. Once the canvas was decorated, we started connecting, testing, and soldering a lot of LED lights. The final product is pictured above.
The <3 connection (How it works in the backend):
Anonymous email is sent → Goes through Parse API → Results are sent through language processing algorithm→
Electric imp provides a handler for HTTP requests. The handler can register a function to be executed on receipt of an incoming HTTP request. The server-based code analyzes what the HTTP request contains.
The device is triggered appropriately.
Recipients will know when they are <3 once the HTTP request has been analyzed. In Team Amourx's case, the LED lights embedded in 'LOVE' will light up if the romantic-language in the email passes a certain threshold.
Nadine Hachouche: is a hardware and software developer. She enjoys working on projects that are interactive and have a physical component with which the user can interact. When she is not coding, she trains for marathons, plays with her dog, and eats everything in sight. Follow her @nadinefarah.
Andrew Carl is a code artist working a double role as a sales consultant and software engineer. In his free time, Andrew enjoys finding new ways to solve problems by working on multiple side projects. Also he has expertise in music production and audio editing.
Malina-Marie: Is a software engineer and hardware enthusiast. She has a passion about finding surprising and delightful ways to integrate art with new technologies.
Sam Carl is a designer, builder, artist, and draftsman working at an architecture and design firm in Phoenix, AZ. He has experience designing in digital and physical media, including construction work. Here is an installation he helped design and built last spring: https://chriswalkermemorial.blogspot.com/