Normally I’d spend my weekends recovering from the rigors of daily and weekly Iron Yard projects, but I put in a few extra hours of coding a few weekends ago– literally a weekend full of hours if we’re wanting to get specific.
Starting on a Friday evening, Startup Tampa Bay hosted a weekend long hackathon focused on challenges faced by real companies in the hospitality industry. Four different challenges sponsored by Sourcetoad, Ciccio Restaurant Group, Fitlife Foods, and SaltBlock Hospitality Group were available to participants to take on either individually or as a team. Some of the challenges were pretty specific while others were open ended but all welcomed innovation and creativity in the problem solving process.
For my non-developer friends and family members, this was a weekend of problem solving through writing code and designing interactive applications for users and companies alike. Some teams stuck around for 24 hours straight to work through code before heading home to catch a couple of z’s just to get right back to creating hours later.
While some people formed teams night-of with mere acquaintances, I got lucky with an invitation to join a team of two other Iron Yard students (Keri and Mandy) and their significant others (Alex and Rob), who have some pretty hefty experience in backend technologies. My role was to be the lead designer on the project and hop in on front-end development as needed.
Our team took on the Sourcetoad challenge related to solving problems for cruise lines, which had a lot of open-ended options for what specifically to solve. One issue that spoke to us was how to encourage cruise-goers to book excursions for their trip. Taking this a step further, we wanted to create a list of custom excursions that were unique to each cruise-goer.
To create this custom list, our team wanted to take advantage of social media accounts to garner data on each individual user. In this application, we requested authorization for the user’s email address and profile photo as they log in through Facebook. As the user logs in, the app utilizes Google Cloud Vision API to pick up on markers in the profile photo and translate them to text. The text is then reduced to broader categories using IBM Watson’s Natural Language Understanding API and matched up with data for every possible excursion to find related terms. In addition, because the user authorizes access to the email address used for Facebook, we can then gain access to view other social media accounts that are related to that same email address. For example, tweets from that email address can be scanned through natural language processing to pull out additional markers for even further customization.
But how are we getting this data? Where are these excursions coming from, and how do we know which identifiers are the best matches for customers?
Ever heard of a thing called “machine learning?” Well, if you haven’t, Google it now and be amazed. I didn’t have any experience with it before this weekend, but now I’ve got a decent understanding based on how we utilized it in our project.
For machine learning to work, first there needs to be something for the machine to store. In our case, we needed data on the choices users would make when it came to the types of excursions they’d be interested in, how much money they wanted to spend, and how long they’d want to spend doing each excursion. To grab this data, Alex put together a quick form and managed to get 300+ completed surveys with authorization to the responders’ Facebook profile photos and email addresses. With all of these responses, we were able to feed this data to the machine to use as a basis for new users who would log in solely with their Facebook account and not have to take the survey. See, that’s where the “learning” part comes in to play. Thanks to Rob and Mandy, our program could then make an educated guess as to what the user would be most interested in based on responses of the initial users who have similar markers in their social media information.
In the end, the project was built using C#, Ruby, React, JSX, and CSS. My final responsibilities included building up the branding of the app with a logo, mockups of each individual page, supplemental icon creation to enhance visual appeal, and HTML/CSS integration with JSX and React.
Below are the visual assets I created for the project, Explorius.
Okay, so this was my first hackathon–in fact, it was our entire team’s first hackathon–and we pulled out an overall win! Going into the event, I think it’s safe to say that our entire team saw this as a fun opportunity without the full expectation of bringing home a win. As we kept pushing through the project, our competitiveness came out solely to be able to say we were able to put together something of that caliber in just a weekend.
With this being my first hackathon experience, everything was kind of a blur. I will say though that a few aspects of the weekend really stuck with me.
First of all, let’s talk about the Tampa Bay tech community. Wow oh wow, is it impressive. Here I am, three months into my time at The Iron Yard, and I’m in an entire building filled with some of the brightest minds in all of the Bay. I’m talking robot programmers, UI/UX gurus, back-end masters, and all sorts of impressive people. In fact, it took a bit for me to really convince myself I belonged around all of those bright minds especially when it came time to watch demos.
Now, I was particularly excited to see these demos. Each company presented a different challenge, but several teams were taking on the same exact problem. The magic here is that each team handled the problem solving differently. Same problem, different solution. How cool is that? From my observations, each team member was able to contribute to his/her team with his/her own specialties while complementing other teammates’ skills to put together impressively innovative and unique projects in just one weekend.
Ultimately, there’s one major takeaway from the weekend that I’m super grateful for and that’s the ability to have worked with such an incredible team. I know, cue the waterworks. Really though. I had such a supportive group of individuals to work with on all aspects of the project. Being able to fully mockup a project, hand over pieces of it to Keri, and then turn around five minutes later to see it all coded out was just a beautiful experience.
And here’s the kicker thanks to The Iron Yard–I actually knew what was happening on the code side. Shout out to Jason Perry for starting to teach three out of five of our team members React just two weeks before the competition because otherwise, I would’ve been doing that in pure HTML and CSS. Okay, maybe there could’ve been some Node and Mustache Express in there.
On a serious note, that weekend deprived me of quite a bit of sleep but really helped solidify my feelings on having made the right choice to not only attend The Iron Yard but to also make the move to Tampa Bay. In just a few short weeks I’ll be graduating as a front-end engineer from the Iron Yard and looking to start my career here. Now, I’ve actually got some confidence in my portfolio projects as opposed to the pieces from several months ago when I was just whipping up some PHP snippets to customize WordPress templates for clients.
Side note: here’s a post the Sourcetoad team put together on our project!