Nine different teams set out on Monday, Nov 28th, to work on amazing projects. This is the story of the Adjust 2022 Hackathon.

Hackathon 2022
Hackathon 2022

Monday morning, 9am, it is early morning and most people are still halfway asleep. The office is empty, but a couple early raisers meet in the ping pong room to hear about the ideas for the Hackathon. Also present are the project leads who spent the last weeks coming up with ideas, and (with thanks to Kat, Zhuo, Peter, Jonas, Viktor, and Pavel) refined these ideas into 2 day challenges. At around 10am, first teams started to form, and settled into the 4th floor in the office. Shortly later the entire floor was busy and teams set out to tackle their challenges.

Office management made sure that everyone is happy and fed, the lunch on Monday and Tuesday was delicious! Work is so much better with good food!

What did the teams work on during the two days?

Centralised deployment platform for Adjust

We have a channel that shows when Backend deploys start, but we don’t show which services are affected by each deployment, when the services finish deploying, what the status of the deployment. We don’t have a history of all deployments per service. This means that when we’re debugging a problem with a service, it’s difficult to tell what PRs might be responsible. We have very little visibility regarding deployments in Backend.

Business Impact: Faster debugging/decision-making during incidents, less wasted time for engineers asking each other questions about the status of deployments, better visibility on service deployments.

Team “Deployment Team”: Maria Efimenko, Pantelis Sampaziotis, Ahmed Abouzied, Lennon Manchester, Fabrício Ferreira

Ultimate Monitoring

The idea is to create a high-level system for monitoring and alerting of dashboard using Synthetics Monitoring of New Relic: Simulating user requests to crucial parts of dashboard to ensure dashboard is working as expected. Building framework for QA to create testcases.

Team “Ultimate Monitoring”: Alexandr Sipovich (TL), Shirine Mohammed, Vladyslav Vlasov, Alessandro Caporrini, Daniel Oni, Vinanya Gunnam

Social truth mechanism for influencers

Creating a social influencer truth mechanism.

  • Publishers publish their advertisements on social influencers accounts by the impression. (They pay by the impression).
  • Publishers mostly want to pay by click or the conversion
  • Adjust can be the source of truth for the publishers.
  • Solutions: When a publisher should publish their post on an influencer account?, How many clicks an average post gets for this influencer? What are the best conversion areas for this influencer?(clothing, makeup, supplements and etc.)

Team “PSY”: Yavuz Yurtbegendi (TL), Prasanna Settipalli, Serafim Kurenkov

<hidden>

<hidden>

Team “<hidden>”: Marios Dimitriadis (TL), Ricardo Loura, Aleksei Ilin

Optimizing influencers performance tracking

Creating tracker links to give to influencers can be a tedious process. We can make advertisers happier by building a specialized tool to create a list of short links from a list of influencers.

Team “Dream Team”: Viacheslav Poturaev (TL), Shashank Kumar, Anton Levakin, Vladislav Kovechenkov

Remote config

“No-code and low-code tools are not about eliminating code or engineers. They are about making life easier for coders, while opening access to everyone, making everyone a citizen developer. Through such tools, sales, marketing, product, operations teams and founders anywhere in the world can build sophisticated workflows and applications without needing any technical knowledge.” – Pietro Invernizzi

Remote config is a software development technique for mobile apps where the behavior or features of an app can be changed remotely without having to publish an app update. This is done by setting default values for various settings in the app, and then fetching the values for those variables in realtime from a remote server.

Team “Remote Config Team”: Jay Rogov (TL), Nico Terevinto, Slava Skvortsov, Sujin Lee

Having fun with Consul

While having fun with consul, we’re trying to tackle some important business projects that cause downtimes. In the process of this PoC we have been able to setup service discovery, feature flag capabilities and hot-reload settings utilising the solution.

At the same time, in order to bypass the limitations of the free version and add audit trail we utilised github along with CI capabilities.

Lastly we investigated how we can integrate our current haproxy setup with consul itself.

Team “Adjust watchers”: Giorgos Lampadakis (TL), Bubunyo Nyavor, Fatih Öztürk, Berkay Kırmızıoğlu, Ibraheem Halloum

[Datascape] Share Dashboards & Widgets via Email [aka Graphical widgets as a service]

Problem: One has to login to the dashboard to see those beautiful charts that we have in.

Datascape. We could potentially increase the user engagement by sending these fancy/interesting insights (charts) via email.Solution: We can introduce a feature where one can share the widget/dashboard over a email just by a click. The widget (chart) will be embedded in the email. This chart will be interactive. User can hover on the chart to see more information (tooltips). This makes easy for someone to get the insights at a glance (just by looking at the charts & summary in the email).

Team “One Man Army 🪖”: Sagar Hani (TL)

Engineering Blog

Right now we don’t have a space where we can write about technical issues we run into during our work – both for our own internal learnings, and to attract external talent with the complexity of the problems we solve. We could create an engineering blog for tech content, not controlled/scheduled by marketing.

Result: engineering.adjust.com

Team “Adjust Tech Press”: Andreas Scherbaum (TL), Aya Amr Mostafa, Karim Aboelela

Summary

Many thanks to Twinkle Savani and Adam Labelle for organizing this year’s Hackathon. And to the panelists judging all the results, they have a hard time picking a winner! The panel consists of: Kat Kuhl, Peter Lehmann, Jonas Wedemeyer, Zhuo Sun 孙卓, Viktor Chaptsev and Pavel Prokudin.

In the words of Adam: “This was the first time I helped to organise such an event. It was quite different than I expected and we have learned a lot about how to make the next one even better. We had a lot of fun. The teams built some very impressive projects and we got the chance to work with many people we normally don’t get to work with. I’m really excited to see the results and I hope we can do something like this again.”

Contribute

If you want to contribute to this blog, please check out the How to Contribute link.