In March, the whole team went into voluntary self-isolation - and even then we realized that the autumn VK Hackathon in its usual format was under threat.
Our hackathon is one of the largest in Russia: its prize fund is 2 million rubles. This is the flagship event of VKontakte, which is expected every year. In 2019, VK Hackathon was held at the Manezh, a historic building in the center of St. Petersburg, where the largest international forums and exhibitions are held. The competition was attended by 600 people from 150 teams - both independent developers and employees of large IT companies: Yandex, Sberbank, Mail.ru, OZON, JetBrains, Alfa-Bank and others.
We could postpone the hackathon for next year, but we didn't want to leave our participants without a competition in 2020. Or move it online without changing the format and name, as many colleagues did. But it would no longer be VK Hackathon - its feature is precisely in the atmosphere of continuous command coding in the center of St. Petersburg. Therefore, we decided to leave the offline event until better times and came up with a concept for a new one.
There will be no offline. What to do?
We started by breaking down the ingredients of a classic hackathon. To roughly simplify, it turned out that at the event, the team members work almost in turns: first, the designer draws the first layouts, then mobile or web developers create the technical part of the product, which is ultimately protected at the pitching.
We formulated an idea: to launch microcompetitions in different directions and thus conduct a multi-stage selection of teams for the final. They took the "design - mobile application - web" scheme as a basis and came up with three cases that the teams had to solve in two weeks. To these tasks, we generously added tasks to warm up: testing, as well as finding and fixing vulnerabilities in VK Mini Apps .
This is how the concept of the coding marathon was born and Vezdecod was born.
Everywhere Code 1.0
" Vezdekod " - a two-week marathon, where you can participate alone or in a team of up to four people. The competition was held in the closed VKontakte community - the guys got there after registration. Tasks were published in the group - points were awarded to those who performed them correctly. In terms of their total, the teams were ranked in the overall ranking. The owners of the first three places in the final standings became the winners of the marathon. The points were also useful to the participants in the Vezdekoda internal store: there they could buy stickers, badges, stuffed animals and other VK merchandise, as well as important intangible bonuses: for example, a resume review with our HR team.
One of the main features of the event was that every day at 12:00 Moscow time we went live: we explained the main task and answered questions from the participants. At these meetings, we talked with the guys face to face - and this helped to maintain a close connection with the teams. The result is a hackathon and reality show format in one bottle.
We have made two chats on behalf of the Vezdecode community:
- “Organizational questions” - here the participants specified tasks, gave feedback and asked: “WHERE are the POINTS?
- floodilk - for everyone to communicate on any topic.
The chats did not stop 24/7: we constantly answered questions, helped to understand the tasks and received feedback. It was a completely new format - both for us and for the participants. So we tried to respond to the guys' comments and went to meet them: we finished the tasks, changed their priority or the criteria for evaluating the results, if we understood that something was not entirely logical.
All important information, rating, results of additional tasks were published not only in a closed community, but also in a special channel "Vezdekoda".
According to the results of the marathon, each member of the top-5 teams received a valuable prize - Apple equipment. We sent all the awards, including merch, to the guys within two weeks after the final.
Participants
We traditionally give participants the freedom to decide how many people will be on their team. Let's designate only the upper border - four. At the offline hackathon, it was possible to compete with two or three people, and at Vezdecode, even solo. But the winning strategy was the teams' strategy, where several specialists from different directions united. As in the classic hackathon, everyone had to play a role: responsible for design, web or mobile development. (In the middle of Vezdekod, we realized that this scheme did not work: the guys stormed the tasks regardless of specialization.)
Anyone over the age of 14 could try their hand at the marathon. We have developed a simple mini-application for registration of participants. It made it possible to quickly unload the updated database - after all, one could join Vezdekod at any time. We made registration as free as possible, so we gathered a lot more participants than expected. It was planned that there would be about a thousand of them, but as a result, 1,400 teams (!) Were accepted at the marathon - that's almost 3,000 participants.
Assignments and their assessment
How to properly evaluate various projects in a full online environment? And will it be possible to provide equal conditions for the participants, if someone can work on a project all day long for two weeks, while others manage to allocate only a couple of evenings for tasks?
We have come up with a flexible ramified task system. It is based on three large projects of different levels: simple, medium and complex. Each of them included tasks by category: design, mobile and web development. So it turned out 9 tasks. Then we added test blocks - and the tasks became 12. They are conceptually related to each other, but they could be performed separately. The more tasks the team did, the more points it earned. If I coped with all the tasks for one project, I got a full-fledged product: a mini-app or a mobile application with a web version. We distributed tasks in random order, but attentive participants guessed what they would have to implement in a few days.
New tasks were published in a closed public, one a day - and they had to be completed in 24 hours. Not all participants were busy on a daily basis - for example, if we laid out a task for web development, designers could rest. To prevent free guys from getting bored, we offered them additional tasks: we invited them to sudden bot quizzes and online competitions based on our favorite activities from conferences: Code in the Dark (this is a blind layout) and Kitten Contest (version of "Own Game" from VK ).
In assignments for the development of mobile and web versions of projects, we suggested using a design that the participants themselves came up with. The teams had different layouts in terms of thoughtfulness - but this should not have affected the points for implementation. Therefore, we chose the strongest design option and gave all teams the opportunity to work with it.
Here we faced the first difficulty: even a layout carefully designed by the participants might not be fully adapted for each of our platforms - mobile web, Mini App, iOS and Android. In addition, the participants found it difficult to apply their guidelines to the finished layout.
The second problem was that in more complex tasks, despite the well-described layouts, the guys had a lot of questions about the actions of individual buttons and animations. We tried to motivate the participants to show their imagination and come up with their own ways to fill in the gaps, during the assessment we awarded additional points for creativity.
But the main challenge of online events without preliminary selection is the unpredictable volume of task verification. When we made the first schedule, we thought that we would be able to review all the solutions in about a day. After all, the participants complete the tasks in 24 hours! How wrong we were :) In one of the design assignments, we received 164 solutions, and 100 solutions for mobile development: some of the participants had both Android and iOS implementations. As a result, we barely had time to publish the final scores for the task only a day and a half after we finished making decisions from the participants. It was also impossible to leave detailed feedback - as a result, the guys discussed each other's projects in the organizational chat.
We also did not take into account the great love of Vezdekod participants for non-native development for mobile platforms - and we did not foresee this when formulating tasks. Many teams started working with React Native and Flutter - with their help, you can easily ensure cross-platform and even reuse code between mobile and web jobs. But the results did not please us when checking the tasks: the solutions were not always collected from the source code, they were based on not the most effective approaches. Unfortunately, we did not immediately formulate the list of permitted technologies - therefore, the participants were rightly unhappy with the changes in the rules for evaluating decisions.
Peace, friendship, memes
In the second week of the marathon, memes from the participants began to appear in the flooding chat. The pictures were super funny, so we decided to arrange a battle and give the authors of the most apt jokes additional points.
«».
The recipe for the perfect hackathon has several must-have ingredients: a cool team, an original idea, a quality implementation, and an explosive presentation. In the final of Vezdekoda, we took on one of the components: we offered twenty leading teams very unusual ideas for projects and invited them to defend them at a live pitching.
To make it more fun, we made an application - an idea generator. He randomly collects the concept of the project from fragments that answer the questions "which?", "What?", "Why?" and "for whom?" So the team could get the "Cultural aggregator for remote work of Disney princesses" or "Seasonal navigator for the self-development of young parents." The idea generator is still working - take a look, maybe he will offer you a project that you want to implement;)
On the eve of the final, we distributed fictional projects among the teams from the top ratings and made a defense schedule. To bring the pitching atmosphere closer to real conditions, we have planned a live broadcast of the presentations in the VK Tech community . In the Vezdekoda store, the guys could extend the deadline by one hour for points and sign up for an online consultation with specialists from the BEsmart communications studio . As a result, those teams that ordered a run-through of performances with coaches took prizes.
Many participants brilliantly coped with protecting unthinkable projects from our generator of ideas - it was, we think, a unique experience :) Some even managed to make a working MVP . We published all project defenses in the VK Tech community - you canlook .
?
- . «» , , . «» — «».
- . . «» 1 400 , 3 000 . 647 — 1 749 . 27 , 59 106 1 000 .
- . «» 14 . — . , — , Figma . — , .
- . - — . «» . . , , , . , ( #). . : Flutter. , , .
At the end of the article, let's leave a parting word to everyone who is going to do a hackathon or a similar event online.
- Think about the effort and the team . Prepare for the fact that it will take even more time and effort online than offline. We have experienced this in many ways: "Vezdekod" became a marathon not only for the participants, but also for us :) At our event, four organizers worked with the teams, and about 20 more people were involved in the preparation and verification of tasks.
- Pay attention to detail and chew on assignments as much as possible. What can be said on the stage with a voice from the stage, at an online competition, quickly becomes overgrown with versions in flood files and provokes an avalanche of irrelevant questions.
- . , . , - . «» — «» .
- . -!