What happens when a group of trainees, who previously only knew each other from virtual coffee calls, travel together for four days to the beautiful Zillertal? - An exciting product is created, colleagues become friends and there are many wonderful memories and experiences to share with the company. How exactly did this happen?
Sunday (Day 0)
On Sunday, 08.08.2021, we met in the evening at the Munich office to travel together by bus and car to Kaltenbach in Austria, where the data.castle, a villa of our CEO Alex, is located. The motivation was great, after all we knew that an exciting week lay ahead of us: we were allowed to set up our own project on our own responsibility and self-organisation. Already on the journey we noticed that we were not only connected by our interest in data and the same position in the company, but also by our common sense of humour and many other interests. When we arrived in Kaltenbach in the dark, we could only guess at the dreamlike location of the data.castle in the middle of the Tyrolean mountains. The distribution of the rooms in the large house, in which it is quite easy to get lost, felt a bit like when we were in a school hostel. Exhausted from the journey, we ended the day comfortably with a beer together and good conversation.
Monday (Day 1)
It was not until Monday morning that we could admire the beautiful mountain view from the data.castle in daylight. After a coffee together, we started with a design thinking session to define our product idea. Some of us had already taken the [at] training and were able to guide the others in moving from the guiding question "What product can we develop that recognises emotions and can be useful based on that?" to an idea with the help of various design thinking methods. It was clear to see how motivated and creative our group was, as some interesting ideas came up. In the end, we decided to develop an app that analyses emotions based on daily digital diary entries (so-called check-ins) using NLP methods and displays them over time.
With the idea in mind, after lunch together in the valley, we set about dividing up teams (backend, frontend and NLP team), defining the first tasks and recording them on an agile board. Despite the late hour, the teams then already started with the first tasks. The NLP team first considered the general approach and decided, pre-trained language models and adapt it to our application in the fine-tuning process. This involved searching for possible data sets and finally deciding on a data set. In the backend team, a dummy Flask app was set up to test endpoints and the connection to the database. In the frontend team, the technology choice fell on Next.js and work was done on a corresponding template for our user interface.
After a successful but also exhausting first day, we were glad to fall into our comfortable beds soon so that we could continue working on our product full of energy the next day.
Tuesday (Day 2)
Highly motivated, we decided to start Tuesday with a run together. What we hadn't thought of was that the data.castle is in the middle of a mountain - so sooner or later there will be a steep climb to contend with. While some bravely fought their way up one metre at a time, others preferred to turn the run into a short hike. Nevertheless, we all came back from the run invigorated. A smaller group added a Wim Hof session, a generally popular method at [at], in which conscious breathing is trained through various exercises.
The NLP team started the day by selecting a "light version" of BERT called DistilBERT for emotion analysis. However, after fine-tuning on the data set selected the day before, good results could not yet be achieved. Our NLP expert Usama advised us to use a data set that was not labelled automatically. After switching to another dataset, it had to be pre-processed first. We also looked for methods for clustering and similarity analyses. The frontend team started by creating a login screen, connecting to the backend and testing visualisation and related data transformations.
In the evening, we were visited by Tini, who supports us trainees together with Daniel from Delivery-Seite. We proudly showed her our first results and reported on our time so far. We ended the evening together with good conversations.
Wednesday (Day 3)
Day 3 started with a relaxed wim yard session. Afterwards, we walked a bit up the mountain to find a nice place for a workout. We found it and started our HIIT workout, led by our trainee colleague Samuel. Worn out from the workout, we continued with a few short hill sprints. Only later, after the first of us had been knocked out, did we realise that it might have been a bit much. Nevertheless, we all agreed that it had been worth it.
Worn out from the workout and the sprints, we went back to the data.castle, but not without taking a few pictures to remember it by. Afterwards, we resumed our work after a relaxing shower. The NLP team worked on comparing results from different models and different preprocessing methods, implementing the previously identified clustering and similarity methods and adjusting the model output. The backend team implemented the last missing endpoint from the previous day and incorporated the BERT model. On this day, a small video team consisting of David and Niklas also set about capturing the atmosphere at the data camp and filming short interviews. The frontend team continued to work on the connection to the endpoints in the backend and revised the login. In addition, visualisations of emotions were implemented with Chart.js and work was done on a visualisation for keywords. Since the communication with the hosted backend caused problems, a proxy was installed.
Thursday (Day 4)
On the last day, after once again too little sleep, we gathered to finish our prototype and get it into a presentable state. The NLP team worked on testing the model on the test data we had all created earlier. In addition, the Jupyter notebook also had to be converted into a form suitable for baking. In parallel, the video team worked on finishing the video, unimagined talents came to light and the Video resulted in a perfect mix of professionalism and humour, full of hidden insiders that emerged over the course of the days. The frontend was hosted on AWS and a separate stripped down frontend was developed for the afternoon presentation.
We worked flat out to achieve a presentation-ready state for our product and put together a few slides for the upcoming presentation. A few minutes before the presentation, all we heard was "Guys, we have a problem, the backend is not running". The backend team hurriedly set about redeploying. Fortunately, the time until the product was presented during the presentation was also enough to get the product back into a working state. Apart from the fact that a small error message appeared once again during the product presentation, the presentation ran flawlessly. The video with which we started the presentation was also very well received.
After the presentation was over, we were in a celebratory mood. So we drank and laughed, we had to drink to these good days. However, with a tear in our eye, we had to start thinking about leaving and packing our things. After tidying up together, accompanied by music, we drove back to Munich. There we ended the evening relaxed with pizza and beer on the roof terrace.
We would like to take this opportunity to thank all [at]-ers who made the data.camp possible. This includes in particular our CEO Alexander Thamm for making the data.castle available, Michaela Schlögl and Kerstin Karpowitz for their support in organising the trip, Dr Christina Sievers and Daniel Lampertseder for their professional and organisational support, as well as our topic experts Usama Jamil and Felix Althammer.
Many thanks to our trainees Leonie Kreuser and Antonio Kallai for writing the article!