This is the second in a small series of posts where I’m publishing essays I’ve written but never got around to publishing.
You can read the first here.
DubHacks Retrospective
My journey to DubHacks was a memorable but very long bus trip from Oregon State University to the University of Washington campus. Needless to say I left on the Friday before the event and stayed at a hotel nearby and walked to the event on Saturday morning.
The event itself was one that I’ve been looking forward to for many months. One that I started scheming to go to all the way back in April and May, back when I was in Colorado.
When I started my academic time here in Oregon I was looking forward to this event. I was looking forward to seeing my friends.
Then I got the email!
I got into DubHacks! One of 10 or so Oregon State students to get in and from my Colorado cohort, one of 5 to get in. Overcome with excitement I started trying to out who I would be hacking with. However, one thing was certain. I knew I was going to hack with Danial. Danial and I had bonded over our shared suffering through our computer science courses at Colorado School of Mines. We spent so many hours working in the dorms and coffee shops delirious and trying to make semi-cogent sentences about algorithms and going through finishing our final projects we had procrastinated for our C++ course.
Danial had flown in with another friend of mine, Tyler, who had planted the seeds of our original hackathon idea. As they arrived I was overcome with so many emotions finally seeing my friends again. As our team (we had two others from UW) finished our registration we realized we really needed to start coming up with an idea. Remember those seeds that Tyler had planted? Those turned out to be magic beans because once they had been planted in our heads they turned into giant beanstalks. We thought that it was the best idea ever! The idea was to convert lectures and course content into byte-sized learning in the form of TikToks and mini-quizzes. We started thinking about ways to put all the aspects together. Some generated talking head video, some computer vision tracking of professors, some auto cutting using LLMs. The feature creep was REAL! But needless to say we ran head on into the design of the app. Now not having programmed with anyone else on the team I didn’t push any particular technology or language, maybe a tool, or library when a problem came up but nothing major. This is when we hit our first road block, software architecture. Instead of hitting the ground running and starting to program we had a long discussion for at least 1-2 hours about minute technical details of how to actually implement this idea. This should have been a red flag, but gung-ho we carried on. Danial and one of the UW students would tackle the frontend (building in React Native, something Danial had never build in before) and the other UW student and I would tackle processing of lectures and generating content from them. This is when road block #2 came up.
Practical technical experience. These UW students were SMART! They understood how to design software, they knew how to think. However, veteran hackathon coders, like Danial, they were not. (I’m not veteran hackathon I am not either but I’ve put in my hours working and with projects). We started clashing over simple technical issues like how to start a program as an HTTP server, how to make a pipeline of jobs, how to pull in content from the network, and basic API design. This team was COOKED! At around hour 6-8 (about half way through the hackathon) Danial and I started realizing our dilemma and went on a long walk through the gorgeous UW campus with Tyler. It was quite refreshing to talk through our issues with our teammates. We spoke at length if we wanted to go on with the project, the difference in education styles across the 3 universities (UW, Oregon State, and Mines), and what real world jobs actually look like.
Once Danial and I made it back the ship was sunk. We called it quits. But Danial and I had come from too far to just build nothing and so we started trying to come up with an idea we could finish in the rest of the time. There was this one idea I had written down from brainstorming for BlasterHacks, hackathon idea sharing app. So to make it unique we decided we’d dive in head first into building an SSH app, kinda like terminal.shop. I initialized the bubbletea project, setup the wish handling, and setup an air file to auto reload, and we were rolling! After explaining the basic premise of a bubbletea app to Danial it just started clicking! We started just building and we made HUGE strides. At points there were times where I wanted to stop and just take a break but Danial was there motivating me. And I’d like to believe that I did the same for Danial.
“This idea is too good for us to stop here”
– Danial
In about 4-5 hours we had done it. We built the whole app (You can check it out here on GitHub).
The real learning I got from DubHacks was not about software design, or about practical implementation knowledge but about friendship. That friendship and enjoying their company is much more valuable. Those few hours that Danial and I built things together were amazing. The time we spent together is time worth the journey and this is a journey I will long remember! I could have been furious with Danial for picking such a difficult team to work with, but that wouldn’t have been productive. Plus that would have jeopardized our existing friendship. Instead by approaching it from a place of learning for both of us, I believe that our friendship instead strengthened.