
Increasing user efficiency and speed at scale
As our product matured and scaled to serve larger customers and practices, it became increasingly clear that our existing patterns for handling bulk tasks were falling short. Users were managing more data, completing repetitive actions, and expecting more sophisticated controls whilst our UI hadn’t kept up.
Multiple teams were looking to build their bulk interactions to meet demand, and we had an outdated bulk action pattern lingering on the banking side of the product, which was less discoverable, couldn’t scale, and didn't match the needs of newer workflows.
This was an opportunity to deliver something more scalable and strategic.
The bulk pattern where discovery and scalability was becoming more problematic to scale.
Objective
Design and deliver a consistent, efficient, and flexible bulk action pattern that could:
Handle large datasets and scale across complex workflows
Bring clarity and consistency to a fragmented product experience
Unlock time savings and reduce friction for users performing high-volume tasks
Support future bulk features without requiring rework
Strengthen our system’s alignment with product strategy levers: scaling the premium experience and growing our practice channel.
Challenges and goals
There was no existing pattern or guidance for bulk actions outside of legacy implementations.
Multiple teams were going to build their own versions leading to inconsistencies and inefficiencies.
The old banking pattern was outdated and creating friction for users.
We had to design a pattern that could flex across many use cases, from quick deletes to more complex configuration adjustments.
The solution needed to be intuitive and easy to roll out and maintain at scale.
Solution
We introduced a new bulk action toolbar. A persistent, responsive UI pattern that appears when users select multiple items across a table view.
Key features include:
A dynamic toolbar that appears after selection, offering contextual actions
Support for single or multiple actions, either inline or via dropdown, depending on the use case
The toolbar scrolls with the user, so actions remain visible and accessible across large data sets
Clear dismissal behavior to minimise disruption
Support for modals or confirmation flows when actions require configuration or extra validation
Toolbar appears with actions after checkbox selection in the table.
Single or multiple actions within the toolbar (depending on the use case)
Modal for further configuration before applying.
Modal for confirming deletions.
Process
1. Audit & Alignment
We began with a cross-product audit of existing bulk actions which included legacy patterns, one-off implementations, and future requests. This gave us a clear map of the use cases and pain points. We also reviewed pattern behaviors in other comparable systems and across our competitors.
2. Collaborative Design & Prototyping
I led the design and worked with other designers, engineers, and PMs from multiple product teams to make sure we were solving the right problems in the right contexts. We intentionally designed the pattern to scale up or down depending on the use case.
3. User Testing & Feedback
We ran usability testing with a wide range of users to ensure discoverability and ease of use. Every participant found the toolbar quickly and used it successfully. We received especially strong feedback around how the scroll behavior and dynamic visibility made the UI feel smart and responsive.
4. Rollout & Documentation
We coordinated a phased rollout with engineering and design teams, providing clear implementation guidance and examples. The pattern is now fully documented on our FreeStyle reference site, complete with usage rules, interaction details, and accessibility considerations.
Results and impact
⚡ Faster workflows: Users can now perform repetitive tasks more efficiently. Examples include sending or deleting multiple items.
⏰ Faster deployment: The pattern has been reused across multiple features, which has saved teams many hours/days/weeks of extra design and development time.
🎯 Higher consistency: Teams no longer need to create their own versions because the shared pattern provides clarity and cohesion.
🧱 Scalable foundation: The pattern is flexible enough to support future needs and more complex bulk actions without a redesign.
📈 Positive feedback: All tested participants found the toolbar easily. Users described it as “intuitive,” “streamlined,” and “a big improvement over the old flow.”
🤝 Strong cross-functional delivery: The pattern came to life through tight collaboration between design, engineering, and product. A strong precedent for how I work together with others on system-scale components and patterns.
Overall outcome
Customer experience consistency and experience quality at scale.