

For the third year in a row, we were excited to return to FlutterCon Europe 2025 - once again as a Silver Sponsor and, more importantly, as an active voice in the conference program. From September 24-26 in Berlin, one of Europe’s biggest Flutter gatherings became a place where the community meets real-world experience and practical know-how.
Each year, LeanCode has a strong representation at this conference, and 2025 was no exception - 6 of our LeanCode teammates were on stage, sharing insights shaped by building and scaling Flutter apps.
Throughout this year’s edition, attendees could join talks by Łukasz Kosman, Mateusz Wojtczak, Marcin Chudy, Robert Odrowaz-Sypniewski, Albert Wolszon, and Piotr Rogulski from LeanCode. To make it easy to catch up (or rewatch your favorites), we’ve gathered all six talks in one place.
Browse the list below, pick the sessions that spark your curiosity, and learn more about the topics that matter most to you.
By Mateusz Wojtczak, Head of Mobile at LeanCode
Hitting a wall with a persistent Flutter bug? Suspect the tooling might be involved? Don't despair! This talk introduces a radical approach for the truly tough cases: directly modifying the flutter_tools on your computer. Mateusz demystifies the process, showing you exactly where these tools live and how you can safely add your own diagnostic code, such as print statements, to trace execution flow.
See quick, real-world examples from our LeanCode experience where this technique pinpointed the root cause of baffling errors related to builds, plugins, or platform interactions. This session isn't just about fixing bugs; it's about empowering you with the confidence and knowledge to investigate Flutter at its deepest level when necessary – even in a flash!
By Marcin Chudy, Senior Flutter Developer at LeanCode
Flutter quickly became a solid technology for large-scale enterprise apps. However, as projects grow over time and developers face tight deadlines, we encounter the inevitable challenges of legacy Flutter code. This is what Marcin experienced firsthand while working on multiple projects across various business domains.
In this talk, Marcin walks you through some real-life examples of how Flutter codebases can deteriorate over time and how we effectively refactor them. He tackles duplicated code, tight coupling, the lack of reusable widgets, chaotic state management, polyrepo workflow issues, and much more. He tries to stay pragmatic, though. As halting development completely for a total refactoring is rarely an option, he would like to show strategies that can quickly deliver real value without disrupting the work of the whole development team.
Whether you’re just starting your project or inheriting an old codebase, refactoring patterns are a must. Having a deeper knowledge of them will help you create quality future-proof Flutter apps.
If we want to find out more about it, read Marcin's article about Taming Legacy Code in Flutter: Our Refactoring Framework for Enterprise Flutter Projects.
By Piotr Rogulski, Flutter Developer at LeanCode
Want to streamline your Dart analysis workflow and leverage the latest tooling? Dart's new first-party analyzer plugin system promises a unified, faster way to handle custom lints by replacing custom_lint and integrating directly with dart analyze. This talk demystifies the migration process.
Piotr will walk you through our step-by-step migration of the leancode_lint package, sharing both the successes and the roadblocks encountered. Learn firsthand about the new plugin structure, understand the key differences from custom_lint, and discover the practical challenges and outcomes. Equip yourself with the insights you need to tackle your migration smoothly.
You can also read Piotr's article to find out how to Lint Smarter, Not Harder: Migrate to the New Dart Analyzer Plugin System.
By Robert Odrowąż-Sypniewski, Senior Flutter Developer at LeanCode
Dart is a great programming language for most apps. It's modern, strongly-typed, null-safe, and memory-safe. However, it is not particularly fast compared to other compiled languages. The solution for Flutter apps that need better performance for compute-intensive tasks is the Dart Foreign Function Interface (FFI). FFI allows functions written in different languages to be called from Dart code. This means that most of the app can be written in Dart, but specific compute-intensive tasks can be implemented in a lower-level language like C, which can be up to 5x faster.
Robert covers the following topics: - What is Dart FFI? - What are the limitations of Dart FFI? - How to use Dart FFI in a Flutter app - What is the difference in performance between Dart and C in real-life examples?
Joint talk by Łukasz Kosman, CEO at LeanCode, and Gary McLellan, Head of Digital Engineering, Virgin Money.
In this keynote, Gary McLellan from Virgin Money and Łukasz Kosman from LeanCode took the audience behind the scenes of one of the most ambitious Flutter transformations in the financial sector. You’ll hear the full story of how and why Virgin Money decided to move its mobile development to Flutter - what sparked the change, how the decision was made, and what the migration process looked like in practice.
Gary and Łukasz shared the real-world challenges the team faced during this transition, including shifting internal workflows and upskilling developers, as well as integrating an external agency into an existing project. You’ll learn what it takes to successfully onboard a partner like LeanCode, which collaboration models work best, and how to maintain velocity while navigating such a large-scale change.
The talk concludes with a set of proven best practices for onboarding existing teams to Flutter, offering practical tips that can help both in-house teams and external partners thrive together in a unified Flutter setup. Whether you’re leading a team, managing a product, or building Flutter apps, this session will deliver valuable insights on what it truly means to scale Flutter in a complex, real-world environment.
By Albert Wolszon, Senior Flutter Developer at LeanCode
Every more advanced Flutter Developer has heard of RenderBoxes, their layer, and their advantages over containing themselves just in the Widgets world. But in reality, a small number of developers have ever written one; they’re usually intimidated by the amount of boilerplate to write, and the methods to override, most with some scary-looking name.
In Albert's talk, he introduces the audience to the boxy package and its CustomBoxy and BoxyDelegate classes, which make taking advantage of the render object layer a very low-hanging fruit, easy to understand, with almost no boilerplate and some advanced features if you feel like it.
Albert starts by quickly reminding you how rendering widgets in Flutter works, when we need to step up the game from just the widgets layer, and what the Flutter framework gives us (5 approaches of the varying magnitude of complexity) for render object layer development. Then he dives into the BoxyDelegate world, solving a few real-life production UI problems, and I’ll talk about the pros and cons of BoxyDelegate and how he uses it on a daily basis. Spoiler alert: BoxyDelegate is a wrapper on the RenderObject API, making it 3x more convenient to use.
Three days, countless conversations, and a whole lot of Flutter energy. Each year, FlutterCon Europe feels less like “just another conference” and more like a reunion of people who genuinely care about Flutter and the ecosystem around it.
In the 2025 edition, our team took the stage once again, sharing real-world experience and lessons learned from building Flutter at scale. Beyond the talks, we loved the new Forum format, which created space for deeper discussions on topics that truly matter to the community. We also brought something extra to Berlin:
But as always, the real magic happened between sessions - at our booth, over coffee, and in spontaneous hallway chats. Meeting so many passionate developers, exchanging ideas, and reconnecting with friends across the ecosystem reminded us why the Flutter community is so special.
Until next time - see you at the next conference! Meanwhile, we encourage you to read our guide ;)
10 min • Oct 27, 2025
In this article, we’re sharing LeanCode’s 12 practical Flutter and Dart patterns that help you write less boilerplate, make your code cleaner, and catch mistakes earlier. Apply these patterns and you'll find yourself coding faster, communicating more clearly with your teammates, and spending less time debugging issues that the compiler could have caught.
15 min • Jul 14, 2025
Starting with Android 15, edge-to-edge becomes the default - bringing a modern, immersive feel to apps. In this article, our Flutter developer shows how to handle system bars in Flutter across Android versions and prepare your UI for Android 16, where edge-to-edge will be mandatory.
11 min • Nov 25, 2025
Legacy code in Flutter? It happens, and it’s a sign of success. Fast growth creates technical debt. At LeanCode, we’ve helped enterprises untangle it with a proven framework that restores clarity, scalability, and speed without a costly rewrite.