DevFest Berlin 2024

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
09:45
09:45
15min
Welcoming

Welcome to DevFest Berlin 2024! You are going to have a great time here!

Berghain
10:00
10:00
40min
Accessibility matters
Alex Mir

The regulators are here and now businesses will care about the a11y. Let's make the a11y compliance not just a formal check. I believe that it is our job as industry experts to understand why it is important and get our products ready for all groups of people.

Kit-Kat
10:00
40min
Fellowship of Product. How your team setup affects your experience
Inès Mir, Doruk Deniz Kutukculer

Did you know there are 2 types of team formation in tech? These formations can change your experience in the team drastically and you better recognise them early to adjust your expectations from the job. And even more importantly, you need to show different qualities on job interviews to get this job in a particular team formation!

Deniz Doruk Kuetuekcueler, a head of engineering, and Inès Mir, a principal product designer, are trying to figure out how design and engineering can effectively work together in these setups.

Tresor
10:00
190min
From Prototype to Production
Daniel Stamer, Diana Nanova

In this hands-on technical workshop participants will work on a hilarious web service prototype and deploy it to the cloud, set up build and deployment pipelines, extend the code base to leverage Gen AI functionality, use SRE practices to effectively operate the application and finally strengthen the security posture of the overall software delivery process to guard against supply chain attacks.

Sisyphos (Workshop)
10:00
40min
Introduction to Google Principles of Responsible AI
Katya Vinnichenko

This year's DevFest explores how AI can improve lives globally, from business to healthcare to education. At Google we acknowledge AI's potential, while also recognising the challenges it presents. Thus, we are committed to helping you build and use AI responsibly, ensuring fairness and ethical practices.

In my talk you will learn:
- the main principles of responsible AI at Google;
- the ethical implications of AI;
- best practices for developing AI systems and integrating AI into Google products and services;
- last but not least – how AI will change the role of the developer as we know it.

Berghain
10:00
60min
Passkeys on Android: How to get rid of passwords
Mario Bodemann, Joost van Dijk

How to replace unsafe passwords with passkeys? Let us build an Android app to investigate this fancy technology...

Watergate (Workshop)
10:40
10:40
10min
Break
Berghain
10:40
10min
Break
Kit-Kat
10:40
10min
Break
Tresor
10:50
10:50
40min
DMARC Demystified
Oleksii Antypov

Discover the essential framework behind DMARC and how it secures email communication across the internet. This session covers the historical evolution of email security, dives into the common challenges of implementing DMARC, and provides actionable best practices for protecting your domain. Ideal for developers, security professionals, and anyone interested in safe email practices.

Berghain
10:50
40min
From Android to Multiplatform and beyond
Marco Gomiero

With Kotlin Multiplatform getting increasingly established, many Android libraries became multiplatform.

But how to make an existing Android library multiplatform?

In this talk, we will cover the common challenges faced while migrating Android libraries to Kotlin Multiplatform, like handling platform-specific dependencies, re-organizing the project structure without losing the contributor's history, testing on multiple platforms, and publishing the library.

Kit-Kat
10:50
40min
How we automate the App Release Monitoring at GetYourGuide
Alireza Rahmaty

App release monitoring (ARM) represents a suite of innovative tools designed to monitor the health and stability of iOS and Android app releases. These tools provide real-time updates by sending notifications to Slack channels and logging the app's status throughout the release process.
At GetYourGuide, we have developed an ARM to monitor the rollout of our Android and iOS apps from the moment they are submitted to the App Store & Google Play until they are fully released. We ship releases faster and with more confidence using ARM!

Tresor
11:00
11:00
5min
Break
Watergate (Workshop)
11:05
11:05
60min
Adding Homescreen Widgets to Flutter Apps
Anton Borries

HomeScreen Widgets are a great way to provide more Information to your Users right on their HomeScreens providing more ways for your App to appear in User's lives and help them achieve their goals.

In this Workshop we'll look at the necessary steps needed in order to add HomeScreen Widgets to Flutter Apps using the home_widget package

Watergate (Workshop)
11:30
11:30
10min
Break
Berghain
11:30
10min
Break
Kit-Kat
11:30
10min
Break
Tresor
11:40
11:40
40min
Demystifying App Architecture: The LeanCode Guide
Marcin Chudy

At LeanCode we developed over 40 Flutter apps, spanning from huge enterprise apps to nimble startup ventures. Some were developed by a single Flutter dev, some came into light through collaborative efforts across multiple teams. Each of them was different. Each of them presented unique challenges and taught us invaluable lessons.

In this talk, we invite you to explore different approaches to architecting Flutter apps. Central to our narrative will be the concept of architectural drivers - key factors or priorities that steer our decisions about how the app is structured and designed. We'll show how we leverage our experience when approaching new projects. Drawing from our successes and failures, we'll present our current Flutter stack which enables us to craft robust, scalable, and maintainable applications. While there is no silver bullet for Flutter architecture, we can still have some sensible defaults.

Why do we use BLoC for state management? Why not Riverpod? Why do we love hook

Berghain
11:40
20min
Flutter for frontenders or There and Back Again
Aleksandr Gorbunov

Every developer, regardless of specialization, may encounter the need to create a UI for a client application. The choice of technology may depend on the developer, or it may be pre-determined by the client, as happened in my case.

The peculiarity is that, coming from frontend development in JavaScript, I started building user interfaces in Flutter.

Tresor
11:40
40min
Maximizing Scalability with Go and Redis: A Telemetry Processing Journey
Andrii Raikov

At Delivery Hero, we process 10,000 requests per second using Go and Redis. Join us to learn how this powerful duo handles high-load telemetry data efficiently and cost-effectively, with scalability, resource optimization, and continuous innovation through customized data flows.

Kit-Kat
12:00
12:00
5min
Room change
Tresor
12:05
12:05
5min
Break
Watergate (Workshop)
12:05
20min
Crucial Performance Issue in Flutter Apps: Memory Leaks
Muhammad Salman Bediya

Memory leaks can be hard to spot but have a big impact on the performance of Flutter apps, especially those running for long periods. In this talk, we’ll explore the most common reasons memory leaks happen in Flutter and Dart, focusing on how asynchronous programming and Streams can make them more challenging. You’ll learn practical tips to identify and fix these issues, helping your apps run smoother and more efficiently.

Tresor
12:10
12:10
60min
Mastering Multiple Engineering Leadership Roles for Maximum Impact
Elena Grahovac

As an engineering manager or technical leader, navigating multiple roles that demand a diverse set of skills is a common yet challenging part of the job.

In this workshop, we will explore how to effectively balance these multiple roles and responsibilities in a complex engineering environment. Participants will be guided through the creation of their own leadership framework, tailored to adapt to the unique situations and styles of each individual. Beginning with identifying core values and responsibilities, the framework is elaborated into an actionable plan to succeed.

This workshop not only offers an opportunity for reflection on personal and professional development but also provides tools and insights to enhance management capabilities and team dynamics. Join us to cultivate a comprehensive approach to leadership that aligns with your unique role, responsibilities, and personal style.

Watergate (Workshop)
12:20
12:20
10min
Break
Berghain
12:20
10min
Break
Kit-Kat
12:25
12:25
5min
Room change
Tresor
12:30
12:30
40min
Can You Outsmart an AI? Adventures in Prompt Hacking
Tomek Porozynski

Ever wondered if you could convince an AI to break its own rules? In this interactive session, your phone becomes your hacking tool as we explore the fascinating world of prompt engineering gone wrong (and right!). Through a series of increasingly challenging games and demonstrations, we'll uncover common vulnerabilities in AI systems and learn how to exploit them. But here's the twist – each successful hack becomes a lesson in defense.

Kit-Kat
12:30
40min
Native GUIs For All
Ole Bulbuk

Traditionally native GUIs are highly platform dependent and often specific for one programming language.
In this talk we will explore a way to create GUI applications that supports virtually all platforms and any programming language.
It is very effective and easy to use, too.

Tresor
12:30
40min
Ten things you heard about testing that might be wrong
Danny Preussler

Testing became an essential part of Android development. Many conference talks have been given and even more best practices have been written.

But what if, as time evolved, some of the things we thought were true, changed?

Let’s start questioning some of these in this talk:
- Are flaky tests fixable?
- Are mocks even harmful?
- Is DI about testing?
- Did we understand testing in isolation properly?
- Is the test pyramid still valid?
- And in times of AI, should we generate tests?

Come and join my session to learn more!

Berghain
13:10
13:10
90min
Lunch
Berghain
13:10
90min
Lunch
Kit-Kat
13:10
90min
Lunch
Tresor
13:10
90min
Lunch
Sisyphos (Workshop)
13:10
90min
Lunch
Watergate (Workshop)
14:40
14:40
60min
Building a Chrome Extension using Gemini and Langchain
John Nguyen

In this workshop, you will learn the basics of creating a Google Chrome Extension (which will also work on any Chromium-based Browser). We will build a simple Page summarizer using Bun, Typescript, Gemini, and LangChain.
We will learn the anatomy of the manifest.json for building a Chrome Extension, Bun's bundler, how to interact with Gemini, and why LangChain is a good idea here.

Sisyphos (Workshop)
14:40
40min
Domain Driven Design Fundamentals for Frontend Developers
Cesar Martinez

What can we learn from Domain Driven Design and how to start applying its teachings in your frontend codebase.

Kit-Kat
14:40
60min
Gemma for Everyone: Your First Steps with Open Models and AI
Gus Martins

Dive into the world of open models and AI with Gemma! This workshop will guide you through the basics of using Gemma, Google's powerful family of language models. Learn how to harness Gemma's capabilities for tasks like text generation, question answering, and more.

Watergate (Workshop)
14:40
40min
Privacy-first architecture: alternatives to GDPR popup and local-first
Andrey Sitnik

Why and how modern developers could increase the privacy of modern Web.

The popularity of clouds, the rise of huge monopolies across the internet, and the growth of shady data brokers recently have made the world a much more dangerous place for ordinary people—here is how we fix it.

In this talk, Andrey Sitnik, the creator of PostCSS and the privacy-first open-source RSS reader, will explain how we can stop this dangerous trend and make the web a private place again.
— Beginners will find simple steps, which can be applied to any website
— Advanced developers will get practical insights into new local-first architecture
— Privacy experts could find useful unique privacy tricks from a global world perspective and beyond just U.S. privacy risks

Berghain
14:40
40min
Tap it! Shake it! Fling it! Sheep it! - The Gesture Animations Dance!
Nicole Terc

Let's have fun with animations, gestures and sensors!

Using Compose Multiplatform, we'll go over how to create animations using gestures and sensor events for Android & iOS. We'll cover some basics like how to get the device motion and position information, how to track gestures in the screen, and how you can combine them with animations to have fun!

After this talk, you'll have a better understanding on how to use the sensor frameworks, how to make your own gesture effects, and how to create interesting animations in an easy way.

Keep it fun, keep it animated!

Tresor
15:20
15:20
10min
Break
Berghain
15:20
10min
Break
Kit-Kat
15:20
10min
Break
Tresor
15:30
15:30
40min
Effortless optimization of Flutter apps: performance tips for developers
Vadym Pinchuk

In this session, we’ll dive into effortless yet impactful ways to optimize your Flutter applications. Performance improvements don’t always require a full rewrite—sometimes, small adjustments can lead to big gains. We'll explore practical tips and tricks for enhancing app speed, responsiveness, and efficiency with minimal effort. From reducing widget rebuilds to handling large data efficiently and managing state effectively, this talk will provide developers with actionable insights to deliver a smoother user experience. Whether you’re a beginner or an experienced Flutter dev, you’ll walk away with easy-to-apply techniques to optimize your apps without breaking a sweat.

Kit-Kat
15:30
40min
From waves to widgets: Sound processing in Flutter.
Andrii Khrystian

In this talk, we'll explore how to work with sound in Flutter apps. We'll go over the basics of adding sound effects and processing audio to make your apps more interesting. You'll learn how to handle audio files and integrate them smoothly with your Flutter projects. This session is great for anyone looking to add audio features to their apps simply and effectively.

Tresor
15:30
40min
Largest Contentful Paint - The unheard story
Raphaël VO

Largest Contentful Paint (LCP) is more than a speed metric—it's the unseen factor shaping user experiences and impacting SEO. While often overlooked, LCP reveals when a page’s core content is truly ready, affecting how users perceive load time and usability. This talk uncovers LCP’s role, why it matters more than we think, and simple strategies to boost LCP for better engagement and rankings. Discover the hidden story behind one of web performance’s most crucial, yet understated metrics.

Berghain
15:40
15:40
5min
Break
Sisyphos (Workshop)
15:40
5min
Break
Watergate (Workshop)
15:45
15:45
40min
How to make the most of Gemini multimodal capabilities?
Guillaume Vernade

We all know that in Tech there are always dozens of way of doing anything. But what if we could only use LLM for a first investigation? Let me show you how I'm trying to solve the mystery of who killed my pond's fishes using the power of Gemini.

Sisyphos (Workshop)
15:45
60min
Learn Flask the hard way: Introduce Architecture Patterns
Shahriyar Rzayev

Level up your Flask skills in this workshop! Learn Flask the hard way by diving into architectural patterns. Discover how to build scalable and maintainable applications using Repository, Unit of Work, and Use Cases. Don't miss this opportunity to become a Flask pro!

Watergate (Workshop)
16:10
16:10
10min
Break
Berghain
16:10
10min
Break
Kit-Kat
16:10
10min
Break
Tresor
16:20
16:20
40min
From Practice: Migration of an Order Processing System to the Cloud
Randy Nel Gupta

A case study on how an order processing system, processing 50,000 orders daily for an international retailer spread across multiple continents and jurisdictions, is migrated to the cloud. The legacy system is implemented in PL/SQL and must be migrated during ongoing operations.

The presentation will cover all aspects from testing, monitoring, to development and the application of Site Reliability Engineering.

Furthermore, less technical topics will be introduced, such as the systematic composition of teams to ensure the necessary technical as well as domain-specific expertise.

Tresor
16:20
40min
Generative AI on Mobile and Web with Google AI Edge
Ian Ballantyne

Generative AI is no longer limited to execution in the cloud. Small language models, such as Gemma 2B, are quickly becoming small and powerful enough for on-device AI, offering benefits like low latency, offline functionality, privacy, and cost-effectiveness. Google AI Edge, with MediaPipe and LiteRT (formerly Tensorflow Lite), enables the development and deployment of efficient on-device AI models. These frameworks handle the complexities of model execution and hardware acceleration, allowing developers to focus on creating innovative AI experiences.

Think generative AI is just about chatbots? Think again. This talk will go beyond basic conversations with language models and explore how on-device generative AI can be integrated into everyday apps ready to help with tasks, answer questions, and provide creative inspiration, all powered by the information located on-device. Imagine truly useful apps that are quick to respond and still work without an internet connection.

Kit-Kat
16:20
40min
Navigation in a Multiplatform World: Choosing the Right Framework for your App
Ash Davies

Navigation in mobile, desktop, and web applications is such a fundamental part of how we structure our architecture. In order to both obtain functional clarity, and abstraction from platform level implementation.

For a long time, there have been options available specific to each platform, and even options part of the platform framework itself. Though it can be difficult to find the right option for platform-agnostic code, ensuring consistency. Some go one step further, providing an opinionated guide on how to architecture your application.

In this talk, I'll evaluate the options available, how they differ, and to what type of applications they are best suited. Including how to get started with them, and the best practice guidelines on how to get the most out of them, for your application.

Berghain
16:25
16:25
5min
Break
Sisyphos (Workshop)
16:45
16:45
5min
Break
Watergate (Workshop)
17:00
17:00
10min
Break
Berghain
17:00
10min
Break
Kit-Kat
17:00
10min
Break
Tresor
17:10
17:10
40min
Automated Testing Layers in a multidimensional Monorepo: Fast-tracking Quality for hundreds apps
Bogdan Plieshka

This case study explores our journey at Zattoo in building an automated testing layer for a complex, multidimensional React monorepo.

Our product supports multiple projects, serves almost all possible streaming technologies, and is customizable for dozens of white-labeled tenants - scaling to hundreds of unique applications. With regular contributions from multiple teams and continuous release cycles, we needed a fast, reliable, and maintainable approach to quality assurance.

This talk details how we transformed from manual acceptance testing to an automated quality feedback loop that provides results in less than three minutes per contribution.

Kit-Kat
17:10
40min
Running open large language models in production with serverless GPUs
Wietse Venema

Many developers are interested in running open large language models, such as Google's Gemma and Llama. Open models give you full control over the deployment options, the timing of model upgrades, the private data that goes into the model, and the ability to fine-tune on specific tasks such as data extraction. Hugging Face TGI is a popular open-source LLM inference server, and Hugging Face TRL is excellent for fine-tuning. You’ll learn how to build and deploy an application that uses an open model on Google Cloud Run with cost-effective GPUs that scale down to zero instances.

Tresor
17:10
40min
You don’t know MathML. Almost nobody does
Vadim Makeev

Do you speak math? Me neither. Still, math formulas have always been around: from Wikipedia articles to JavaScript APIs and even CSS docs. It looks so alien that I never had a clue how to express it on the web. Apparently, there’s a markup language for that. HTML for content, SVG for vector graphics, and MathML for math! And it’s pretty cross-browser, too. Let’s dive into the basics and quirks of the language of the universe. Even if math is not your love language, you might learn something interesting about the web platform.

Berghain
17:30
17:30
30min
End of day
Watergate (Workshop)
17:50
17:50
10min
End of day
Kit-Kat
17:50
10min
End of day
Tresor
17:50
10min
End of day
Sisyphos (Workshop)
17:50
10min
Closing

Just to close things off, let's do a quick meeting to share what we learned today!

Berghain