Dispatches from Sitecore Hackathon 2020
A Thriving Community Event
Since its start in January 2014, the Sitecore Hackathon has flourished. Just six years later, it features more than 90 teams from across the globe and acts as an exciting annual tradition for the Sitecore community.
The event’s founder Akshay Sura is an enthusiastic presence in the Sitecore Community Slack. In the days leading up to the 2020 event, he cheerfully assisted teams with logistical issues and subtly hinted that something big was coming this year. He took a short break from his preparations for a brief chat with me, where he shared his insights about the event.
Stephan Trahan: When you started the Sitecore Hackathon, what was your vision for it? The event has become a widely adopted tradition featuring teams from around the world. Is that what you envisioned, or did things turn out differently?
Akshay Sura: The vision was to grow it, along with building a codebase that can be used by others. I cannot believe the reality where we have people from over 25 countries spending 24 hours of their life, tweeting, and coding. It is a fun activity and generates a lot of interest.
ST: Do you have a fond memory or a lesson you learned the last time you stayed awake for 24 hours straight? Any tips you might pass on to this year’s competitors as they try to stay sharp throughout the event?
AS: Pace yourself. Take a nap if you need to. Walk it off.
ST: If you could build a hackathon team with any 2 teammates (real or fictional), who would you recruit?
AS: Interesting question. I would pick someone who a good problem solver and a quick thinker, and the other would be creative. I believe with the three (including me) we should be a great team.
ST: Sounds like a great team. Thanks so much for taking the time to talk with me, Akshay!
With Akshay Sura’s tips in mind, I felt prepared to tackle this year’s Hackathon as a part of Velir’s well-established team.
A Proud Velir Tradition
Ever since the inaugural Sitecore Hackathon in 2014, featuring the ‘Admin B’ team, Velirians have entered the fray to test their mettle. Our collaborative style and dedication to the craft of Sitecore empowers us to become a part of the wider community and to make meaningful contributions to it. The Hackathon is the perfect forum to stretch our creativity, show off our technical chops, and create a humble offering to the community.
As an experienced digital agency and Sitecore partner, Velir is home to a formidable crew of creative problem solvers. Our team this year, The Prod Squad, was made up of members of Velir’s Production Support department, with myself and recently minted Technology MVP Alessandro Faniuolo. But we’ve learned that when it comes to putting together a dynamite Hackathon roster, it’s not just about being a developer. Part of our strategy in recent years has been to spread out our knowledge and put more emphasis on the planning and documentation aspects of the contest. It’s also worth noting the value of being a jack-of-all-trades when working in such a small team. Enter: the technical producer.
We found that having expertise to quickly define, prioritize, and track the work for our project gave us a huge time-saving advantage. While we crunched the code, the other things we needed to submit weren’t neglected. Another thing we realized is that everyone brings hidden talents to the roster. When we were faced with a curveball (like needing to bootstrap markup for an entire website in less than 24 hours), a technical producer with a secret suite of front-end skills completely changed what was possible for us to accomplish.
What Happened in 2020
There we were, three confident teammates with freshly installed Sitecore 9.3 instances, ready to conquer the Hackathon. We ate a lovely sushi dinner, tossed around a few of our favorite Hackathon ideas, and sat well-prepared as we awaited the announcement of this year’s topics. Then the Hackathon got flipped on its head, right before our eyes.
In previous years, the goal was to create a Sitecore module within a variety of categories or technologies, such as enhancing the authoring experience or getting creative with a recent addition to the Sitecore platform like Commerce or SXA. Not this time! We sat, reeling in our jaws from the floor as we read through the challenge. The new challenge: Replace an entire website.
This was going to be harder than we thought.
The topics were straightforward. Replace one of the 3 Sitecore community websites listed with a solution that uses any part of the Sitecore platform, including community modules. The 3 sites were:
- The Sitecore Hackathon Website. Spoiler: we chose this, it seemed the most manageable.
- Sitecore’s meetup.com user groups
- The Sitecore Marketplace
After a few minutes of laughing at the hilarity breaking out on Twitter from the announcement and a few minutes catching our breath, we went back to the drawing board. Once each site concept was broken down into digestible parts, we swiftly made our choice and started planning. As production support developers, we are very good at seeing the big picture. In short order, we had our serialization tools ready, a test environment up and running, and a Jenkins build in place to integrate our changes. What we didn’t have: a proper development accelerator or scaffolding library. After considering the time it might take to find and implement a suitable startup library, we rolled up our sleeves and got ready to build it ourselves.
What began as a painful process turned into momentum, as the many components of our site began to take shape. It was exhilarating. With the help of a slightly modified PowerShell library, we were spinning up Helix modules at a rate we never knew to be possible. We had cookies. We had coffee (sort of, technically our main machine ran out). We were getting this thing done! Our plan was simple:
- Build a basic page structure with simple components like a header, footer, and body.
- Create a couple of page-specific components to house the core functionality of the hackathon site, like a grid listing with cards showing the participating teams, and a winners page.
- Provide a robust branch template structure to enable authors to quickly and easily create each year’s hackathon page and sub-pages.
- Iron out the authoring experience for our customized components and bring it all together.
- If there’s time…create a registration page using Sitecore forms and collect these submissions to be the basis for new teams (we did not get this far).
As the competition neared its end and we sat hunched over our keyboards, disaster struck: red dots. Red dots one after another, signifying a streak of failed Jenkins builds that we could not seem to repair. We redoubled our troubleshooting efforts, wondering how or why our test environment was falling apart at the worst possible moment. Finally, we were able to patch up the last of the errors, and we started assembling our final Sitecore package without a moment to spare. In total there were about four empty instances waiting and ready for us to test the installation. It pays to be thorough. With about 45 minutes until the deadline, our final test installation had gone off without a hitch, and we were ready to submit. A few minutes later the fruits of our labor were on their way to be judged.
The winners of this year’s Hackathon have not yet been announced, so our fingers are still crossed.
The Rewards of the Hackathon
Looking back, the Hackathon has created many fond memories for Velirians. We have all gained valuable experience and become more connected with the Sitecore community. We've also bonded as teammates, colleagues, and friends. We’ve learned lessons that we can now share with our colleagues and members of the community. Most importantly, we've pushed ourselves to be better, tried something new (and a little scary), and celebrated being a part of such an innovative industry. If you are on the fence about participating in the next Hackathon, I would encourage you to dive in and give it a chance. It has been a tremendous learning experience.
In the end, we were very proud of what we created. Watch our Youtube video for a demo!