My Experience at Stanford TreeHacks 2018 & Tips for Hackathon Beginners

Unchitta Kan
6 min readFeb 25, 2018

--

Last weekend I attended TreeHacks 2018, an annual hackathon hosted by Stanford University, and despite having in total of 3 hours of sleep over a period of 3 days, I went home with so much more than I arrived with. I got to know and work with some amazing people, learned a ton, and I was really excited about the project I was working on. In fact, I just learned so much and had such an amazing experience that I decided to write about it.

What was it like?

I’ve been to about 6–7 hackathons, which is certainly not a big number but enough to be able to compare. Needless to say, TreeHacks was the best by far. I would probably attribute this to the amazing organizers, and frankly, how much budget they had judging from the sponsors that were there. Food, snacks and drinks were never lacking and there were quality workshops constantly. There were a lot of amazing participants, too.

Favorite Part? Laura Butler.

Laura, now the VP of Notes and Tasks at Microsoft, came to give a keynote presentation at the opening ceremony. I frankly do not know how to express how incredible she was! She jokingly calls herself a Startreknical Goddess, but there is definitely some serious truth to that label. Her presentation was extremely entertaining and inspiring all at the same time. Among other things, she talked about what it really meant to be an engineer and what it really meant to be a manager. To an extent, she had changed the way I look at things and I felt like even if the hackathon had turned out to be not so great, her presentation had already made it worth coming to.

Laura Butler giving her amazing keynote presentation.

What did our team make?

The project that my team and I were working on was abstracted sentiment analysis. In the most general sense, it is a 2-sided platform for psychology-professionals and patients where the patients can journal privately, allowing for full expressions, while the care providers will be able to see the sentiment analysis without needing to read the actual text itself. The inspiration behind this is that personal blogs not only reveal a lot of information about you but also your mental health. The purpose of our project was to, without intruding privacy, analyze the sentiment and emotions using these blog posts and generate visualization of the sentiment over time. There were many applications to this platform that we could think of.

An example of what a psychiatrist may see on her side of the platform.

To make a proof of concept, we started off by using Tumblr as the medium because a lot of people are already using it and their API is nice to work with. Our product (called Soteria), however, also has an internal journal feature to serve the same purpose after the proof of concept has been done. We then used IBM Watson Tone Analyzer to get sentiment data, which we used to generate sentiment vs. time graphs.

How did I contribute?

While my other teammates were busy doing other amazing stuff for our team, my part was to design the data architecture and pipeline as well as generate the visualization which was one of the main components of the product. I spent the first half of the hackathon playing around with different kinds of visualization (from which I learned a lot), and transitioned into helping put the product together as a web application in the last 14 hours or so.

For front-end I just used Bootstrap, as to be expected for quick and dirty hackathon projects. For back-end application, since all of us were proficient in Python, we ended up building with Python and Flask. I didn’t really know how to use Flask prior to this hackathon so I ended up learning on the fly, and this was one thing that I was really proud of. For database and data models, SQLite and Peewee were used; these, too, I learned during the hackathon. I think this is what is really amazing about hackathons —to me, they’re an opportunity to just sit down and focus on cranking and learning things.

What did I learn/gain more experience on?

  • How to use Matplotlib and deal with time-series data.
  • That it was kind of really hard to plot probabilities as a function of time. Even more challenging was to visualize human emotions. Here were some gnarly graphs that we tested out:
  • That some data visualizations are utterly useless and do not help us understand anything better.
  • How to build a basic web application with Python using Flask.
  • A lot of git and how to collaborate with other people on Github. Frankly my CS classes did not prepare me enough so this was an awesome experience. All credits to my teammates who were really patient with my git ignorance and walked me through a lot of things.
  • Relational and object-relational databases with SQLite and Peewee.
  • The importance of having clear plans and communication.
  • Last but not least, I learned to be humble after seeing how much dedication and technical knowledge other participants at the hackathon had. At the same time, these people really inspired me to keep on learning and working hard on my passions.

What’s next and how can I keep improving after the hackathon?

Our team plans to keep working on Soteria as a side project. There are some things that could be improved right off the bat, like rewriting some, if not most, of the code base so that it is more robust and less hackathony. We plan to move away from a lot of the pre-baked APIs and implement many of the features ourselves. More market research is also definitely on the list of things to do.

For me personally, I plan to attend more hackathons and keep improving as a technologist.

A message to hackathon beginners + tips

I am no hackathon veteran, but I do encourage anyone who’s in tech, especially students like myself, to attend one. It is an intense environment where you’ll learn and do so much in 24–36 hours. The Major League Hacking is a great place to start for collegiate hackathons.

Here are some tips that I can think of that may help:

  • Talk to the mentors. They are there to help!
  • Talk to the sponsors, too. Especially if you are using their products.
  • Find a team and an idea that really excites you. It will push you to do much more and go much farther.
  • Many hackathons provide hackpacks/starter packs to help get you running quickly, so be sure to check them out.
  • Attend as many workshops as you can if they interest you. They are invaluable and often well put together.
  • Talk to other people and see what they are doing. I guarantee you’ll be amazed most of the time.
  • I can’t say for everyone, but my goal for attending a hackathon is to have fun and learn as much as I can. If at the end I come out with something new in my toolbox, I’m happy.
  • Lastly: watch out for your diet. It’s easy to binge eat during a hackathon, considering all the free food and snacks (and sugary caffeinated drinks) that are given out. You are what you eat and you definitely do not want to put crap in your body on top of not giving it enough sleep for 24–48 hours straight.
  • Bonus: You’ll get to keep cool stickers too if you attend one!

--

--

Unchitta Kan

Applied mathematician & PhD student in computational social science. This is a notepad for my math/data-related thoughts, among other things.