top of page
Marcin Chudy

Marcin Chudy

Senior Flutter Developer at LeanCode

Marcin is a Senior Flutter Developer at LeanCode, a software house from Poland known for building complex mobile apps with Flutter and engaging in the Flutter Warsaw community. He is currently playing a Flutter Tech Lead role in a large project for the banking sector. Previously worked with backend, and web frontend (React), finally settling on mobile and falling in love with Flutter at first sight. After work, he enjoys dancing salsa and bachata and attends metal concerts.

Taming Legacy: Refactoring Patterns for Large Flutter Codebases

Flutter quickly became a solid technology to use in large-scale enterprise apps. However, as projects grow over time and developers are met with tight deadlines, we stumble upon the inevitable challenges related to dealing with legacy Flutter code. This is what I experienced firsthand while working on multiple projects across various business domains. In this talk, I will walk you through some real-life examples of how Flutter codebases can deteriorate over time and how we effectively refactor them. We’ll tackle duplicated code, tight coupling, the lack of reusable widgets, chaotic state management, polyrepo workflow issues and much more. We’ll try to stay pragmatic though. As halting the development completely to do total refactoring is rarely an option, I would like to show strategies that can quickly bring 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.

Roundtable Topic: Escaping Chaos: Should Your Flutter Team Move to a Monorepo?

Managing a growing Flutter codebase across many repositories can quickly become a nightmare—slowed CI, broken branches, painful merges. But does switching to a monorepo solve more problems than it creates? This roundtable dives into the real-world trade-offs of monorepos vs. polyrepos in large Flutter projects. Let's discuss how teams are structuring codebases in 2025, how Dart Workspaces help organize shared packages, and what strategies make monorepo migrations successful without halting business-critical development. Whether you're deep in a polyrepo setup or just starting to plan for scale, this session is a space to share your challenges, approaches, and lessons learned. Are you currently using a monorepo, polyrepo, or hybrid approach for your Flutter projects—and why? What has been your biggest pain point in managing multiple Dart/Flutter packages across teams or repositories? If you've migrated to a monorepo, what challenges did you face during the transition, and what benefits have you seen? How are you using Dart Workspaces (or not), and what tools or practices help you scale development efficiently? What advice would you give to a team considering a monorepo but unsure about the risks or return on investment?
bottom of page