Vihanti
With DCM, the team was able to setup more consistent and reliable analysis than with Flutter’s built-in linter, reducing unexpected discrepancies and giving developers a clearer, more reliable foundation for everyday development.
Vihanti is maintaining multiple production applications with a strong emphasis on reliability and best-practice development. With five developers contributing across three active Flutter projects, consistency and static analysis became crucial.
The team integrated DCM into both their VS Code workflow and GitLab CI/CD pipelines, using a shared analysis configuration across all projects.
Challenge
Working across multiple active Flutter projects, Vihanti’s engineering team needed a way to ensure consistent coding standards, reliable linting, and high-quality Bloc implementations across their shared configuration.
Traditional static analysis tools weren’t enough; flutter analyze often produced different results between VS Code and the command line, making it hard to trust for day-to-day development.
Vihanti needed a solution that could deliver stable analysis, enforce Bloc best practices, and simplify rule management across all three of their active projects.
Solution
To address these challenges, the team integrated DCM into both local development and GitLab CI/CD.
All five engineers run DCM through the VS Code extension, backed by a shared DCM analysis package used consistently across projects. The team opted to enable almost all DCM rules, far beyond the recommended defaults, while explicitly ignoring only a small set they reviewed internally.
This approach immediately strengthened their architectural and state-management patterns. In addition, the impact of DCM’s Bloc rules was highlighted, particularly the guidance on “avoid returning values from Cubit methods,” which helped enforce best practices that the team values. While still using flutter analyze in parallel, the team now relies primarily on DCM for trustworthy and reproducible results.
Impact
Even after only a few months, the team has already seen a noticeable improvement in code quality. The tool provides more consistent and reliable analysis than Flutter’s built-in linter, reducing unexpected discrepancies and giving developers a clearer, more reliable foundation for everyday development.
Although the team isn’t yet expecting measurable time savings, the early impact is already visible across their projects:
- Better Bloc patterns,
- Cleaner structure,
- And a development flow that avoids many of the subtle issues previously slipping through.
DCM’s reliability has also created a smoother review process by eliminating many of the manual checks engineers previously had to perform.
Related Stories
Ready to fix your code?
Start today

