This year, my friend Tanner Barrett invited me to team up with him and go to a hackathon called HackCU 4 hosted at CU Boulder. He is a new programmer finishing up his final year of his CS degree, and I am a full stack developer for a contractor. We both were just looking for some new exposure, and even though we both work and pursue education, we decided to burn our weekend and spend it coding all night and then slogging through the following work/school week (it always sounds like a good idea at first).
We bumped into an Alumni from the high school we all went to, forming our team. Daniel Lemmond is a machine learning major getting his second degree in CS, and primarily uses python. We took on a challenge from the company OppenheimerFunds to conduct sentiment analysis in any format and compare it with financial data to gain insights. I didn’t even know what sentiment analysis is until then — except it was a fancy word and if you say it to someone they think your a genius (so I just casually started sliding it into any conversation). If you don’t know what sentiment analysis is, and don’t want people to know that you don’t know, discretely click this link and read up
replace “DISRUPT” with “HACKCU” and add 7,000 cans of redbull, and that was pretty much the hackathon
Our goal was to do sentiment analysis on a hashtag that we mined for on Twitter posts, get a percentage of positive and negative, then get financial data of a stock symbol from an API for the last day, and graph it to see how the sentiment of tweets effects the stock. Super neat-o, right?
I handled the web stuff, Tanner was to write the request to the financial API and get that data to me in Java, and Dan wrote an algorithm with a custom training model trained overnight and had the sentiment algorithm ready to go by morning (to say the least I was blown away, but to be fair I hear the phrase “Machine Learning” through rose colored — uh — ear holes).
Lets start with Tanner. He struggled for ~7 hours day one of the hackathon to get that damn HTTP request done in Java (which apparently, is kind of complicated in java, he was struggling with some sort of Sun related security issues — maybe he will drop a note in the comments). He is still new to code that actually does applicable stuff, running on the web, sending JSON, etc. But I admired his effort, he put in a lot of time like a true programmer just hacking away at his errors. We ended up letting Dan do it in python as we were running out of time the second day. But, right as we were about to submit our project, Tanner got his code running!
We didn’t end up using it, but Tanner was still really excited that he had conquered his problem. He was a great sport the entire time, and despite writing a small piece of unused code, he was glad to learn and get the exposure of the hackathon. Any knew programmers reading this should realize that the kind of attitude Tanner had made him a much better coder in just those two days, and will continue to be a cornerstone attribute in his career.
I wrote the front end in Angular, and used Chart.js to get a graph going with some fake data and the sentiment percentages below, with a cute little UI for the user to search for the hashtag and stock symbol. Dan output his data in .txt files, so I created a Node server with a Python Shell inside to to execute his code, and parse the created .txt files to send to the front end (very unconventional, but it worked and hey we had a couple hours before we had to submit). I was really surprised, I didn’t know Node could could execute python code, that was pretty cool to learn as I first started programming in python, and have written some applications with it.
I got the percentage data from the sentiment analysis into the website, but ran out of time before I could parse the graphing values from the .txt file. But it didn’t matter to much, because my takeaway was that you can do incredible things with an odd team. Tanner and I both gained exposure to machine learning that we had never seen before, and it was incredible to be a part of it. I have never built a website so fast and so clean, and had a server up and running, in that amount of time. It really pushed my limits and forced me to focus on each piece of set up in context with the big picture.
but that’s totally okay! It was the first hackathon for all of us, and we had an incredible experience. We were a close second in our challenge, which is quite good for some new comers. We had some caveats with our App — the Twitter API free version didn’t allow us to query enough meaningful data, and we didn’t/couldn’t gain a solid number for how much affect the sentiment had on the stock.
Find one in your area, and go. If you are new, find some friends or people that know more than you, and go with them. Have a mindset like Tanner — to learn, and try as hard as they can, but still have fun — and glean as much knowledge as you can from the environment.
The focus of a hackathon will really push your skills.
If you want to checkout the winning projects, and our project, visit devpost. The winning projects were amazing, give them a read.
Thanks for reading, drop a note, tell everyone you hate hackathons because of a bad sandwich experience, give me some claps, or don’t.