What should we arrange a hackathon, or How do we conduct an internal hackathon

In late September, we conducted our first internal hackathon. To participate in the hackathon, they chose a mobile development team - pioneers in all the innovations and ideas of the company.
Under the cut, we tell ̶k̶a̶k̶ ̶m̶y̶ ̶d̶o̶ ̶e̶t̶o̶g̶o̶ ̶d̶o̶k̶a̶t̶i̶l̶i̶s̶̶ that we received from the hackathon
What for?
We often sponsor hackathons held in Kazakhstan, but we never organized it ourselves. They decided to start with an internal hackathon for a team of mobile developers.
Initially, the purpose of the hackathon was to close the accumulated technical debt on three projects. But following the discussions with the team, they decided to give developers the opportunity to implement the ideas that they wanted so much, but for which there was no time among the current tasks. Thus, on the one hand, the guys had the freedom of choice, on the other - the necessity and expediency of the proposed solutions for business.
A start was announced in two weeks. The remaining time was given to inventing ideas.
The topic was focused on the development and support of key application indicators. A number of tasks were provided by product managers (kolesa.kz, krisha.kz, market.kz). They did not pass by the moment of improving the life of the testing team and offered a number of features that will allow you to quickly customize the tested application to meet specific requirements without involving developers.
Prizes - 100, 50 and 30 thousand tenge for the first three places.
It was decided to hold the hackathon in the office, but not during working hours, so that participants were not distracted by current tasks, and passing by onlookers from other departments did not distract from immersion in the process, but did not want to lose the weekend either. By a common decision, the countdown of days to the hackathon began on Friday evening after the work day. (And this was not a good decision, but we will find out about this a bit later.) On the other hand, we left at least one day off for recuperation.
The event was attended by 14 developers who shared on teams of 2-3 people. Total formed six teams - three for each of the platforms.
We moved the headquarters of the hackathon to the work-cafe, where the guys lowered all the necessary equipment. Someone took not only their laptops, but also their working chairs and everything they needed. They dragged a bunch of ottomans, bags, stocked up with energy drinks - various goodies, fruits.

Gradually, the office began to resemble the headquarters for the development of innovative projects, when the company of activists, meeting on the ground floor, was working on creating something important. And the work began to boil. Someone wrote on the blackboard the principle of the proposed functionality, someone made a break for a cup of coffee and a discussion of ideas in an informal setting. Against the background of boiling work, those who wanted to relax could watch films on a projector installed near the workplaces.

Completion of work and determination of winners
Towards six pm on Saturday, the tasks were completed, and the teams began preparing for the presentation and defense of their work before the judges. Leading developers from both platforms and the company's CEO acted as judges. Also, each of the teams had the opportunity to give one point to the team whose work they liked the most.
The evaluation criteria were:
- Utility development for business.
- Finality of the functional.
- The possibility of implementation in current processes.
What we got from mobile development hackathon:
- Widget for “Market”: quick access to the main sections of the application, instant reading of the last incoming message.
- Configurable notification windows that correspond to the new design system of all three applications.
- Accelerated build projects twice - set up Continuous delivery.
- Implemented a single authorization on all our products.
- We've picked up an experimental API responsible for the front-end on mobile devices in the Kotlin language.
- We tried to recognize the VIN code from the data sheet using the ML Kit.
- We tried to implement the Instant App for the Market.kz application.
- The functionality of push-notifications in iOS 12 for the provision of paid services directly from the push.
- Scrolling photos and the ability to make a call to the seller in the VIP-ads in the search results.
- Refactoring and taking out endpoint configurations to the screen module to simplify testing.
What will happen to this next? Some of the tasks are already actively used in the work of mobile application testers, for which they are very grateful to us (+100 in karma!). The most successful of the projects in the near future will be finalized, implemented and will be available to our users.
The winners of the hackathon are: the iOS team that developed the functionality of push notifications in iOS 12 to provide paid services directly from the push and the Android team working on implementing the Instant App for the Market.kz application
Conclusion we made
Why start on Friday was not the best decision? If you count in total, the guys had to stay awake for 36 hours. For some, this was possible, but some still had to rest and take a short break from work. Next time we will consider other options for the timing of hackathons.
Nevertheless, we consider the hackathon to be a useful experience for our team. And at the same time everyone got the benefit in the form of unity, responsibility and class merch!
