Case study
How Salto prevents UI problems while saving 50% of their time with Widgetbook
Apr 15, 2025
Following Widgetbook’s structured review process, Salto catches all UI changes in a merge request and quickly solves all UI problems early. Thereby, their developers save 50% of their working time.
About Salto
Salto Systems is a global leader in smart access solutions, offering cutting-edge IoT technology for secure, cloud-based access control. With over 40,000 clients and a presence in more than 40 countries, Salto powers seamless and secure entry experiences for hospitals, offices, universities, and more. Their innovative platform integrates mobile access, wireless locks, and real-time management — all designed to simplify access control in a connected world.
In 2022, Salto made the strategic decision to switch to Flutter to unify their codebase, accelerate development, and improve cross-platform performance. Since then, they’ve successfully built seven production apps in Flutter, making it a core part of their mobile development strategy.
Challenge: Catching UI Changes Early
With seven different Flutter apps in production, Salto’s developers are committed to delivering a consistent and high-quality user experience. However, updating a widget in one part of the app often had unexpected side effects elsewhere — leading to UI overflows, visual bugs, or accessibility issues that were hard to detect early.
To catch these regressions in advance, the team relied on Flutter’s snapshot-based golden tests.
“We used Alchemist for golden tests, but generating consistent snapshots across different machines was difficult and didn’t integrate smoothly into our GitLab workflow. When something broke, it often took a long time to fix UI issues and stabilize the CI pipeline.”
— Arthur Schenk, Mobile Team Lead at Salto
Solution: How Widgetbook Transformed Salto’s Workflow
Building Widgets in Isolation
While exploring ways to streamline UI reviews and catch visual bugs earlier, Salto’s mobile team discovered Widgetbook. They initially adopted the open-source version to accelerate Flutter UI development and quickly saw the benefits.
“We build new features by starting with Widgetbook, allowing us to immediately develop the UI in isolation and see how new components behave. Building in isolation is especially helpful for larger components and screens that handle various data states — like loading, loaded, or error. Before Widgetbook, testing error states was time-consuming because they’re naturally hard to reproduce; the data often comes from sources we can’t easily control. But with Widgetbook’s isolation-first approach, we can inject mocked data and test all component states. Once a component is ready, other developers can easily explore its different variations.” — Arthur

Pictures of the different state screens - success state

Pictures of the different state screens - error state
A Central Overview of All Widgets
To maintain visibility across their growing UI ecosystem, Salto created a shared Widgetbook for common components, along with seven app-specific Widgetbooks — one for each app’s unique widgets and screens.
“The UI team is happy they now have a clear overview. They can quickly explore components and screens in different states, themes, and device sizes — all in one place.” — Arthur
This setup not only improved collaboration between designers and developers but also made it easier to ensure visual consistency across all Flutter apps.

On the left, you can see the Widgetbook component library
Catching All UI changes with Widgetbook Cloud
After seeing the benefits of the open-source Widgetbook for local widget development, Salto wanted to extend this workflow to their entire CI process. To do so, they scheduled a demo with Widgetbook to explore how Widgetbook Cloud — the fully integrated, cloud-based review platform — could support them.
“Onboarding was smooth and easy to set up, especially thanks to the dedicated Slack channel where we could quickly resolve any issues” — Arthur
Although Widgetbook Cloud was initially used primarily by developers, Salto has recently expanded its use to include both QA and design teams, creating a more collaborative and efficient review process.
“Widgetbook is integrated and running in our build CI pipelines. So, every merge request triggers Widgetbook Builds to run the snapshot tests. If we made changes in code, Widgetbook shows which components stayed the same and which components had visual adjustments making it trivial to review visual changes and get the code merged.” — Arthur
In today's fast-paced world, staying productive is more important than ever. With numerous tasks demanding our attention, managing everything efficiently can be challenging. This is where an AI-based assistant comes in, revolutionizing how we approach productivity.
Salto configured Widgetbook Cloud to test all widgets automatically for their light and dark theme and for a normal and enlarged text scale factor.
“Testing in different configurations helps us to see the changes for our themes. Specifically, with the keychain, there was a lot of inconsistency in dark mode. Widgetbook Cloud helped us to find these inconsistencies efficiently and resolve the theming issue right away. In addition, many problems have been detected and fixed while the merge requests were still open. Otherwise, the problems would have shipped to our staging environment and would have been raised by QA causing time consuming iteration cycles. With Widgetbook you can see that at once. The entire team is very satisfied because it is so handy and saves time.” — Arthur
If this sounds like an outcome your team could also benefit from, try Widgetbook for free or contact our team to learn more.
Big thanks to the Salto team for the great collaboration on this case study — especially to Arthur Schenk. It was a pleasure working together! 💙