Coast
User Roles
Unlocking enterprise growth through customizable user roles
When Coast launched in 2020, our primary customers were SMB fleets with around 10-150 vehicles. As we looked to scale ambitiously in 2025, winning deals with large fleets (having 300-500+ vehicles) became a major priority. When it came to supporting large fleets, we found that there were serious gaps in the product around scalability and permissions.
One theme kept coming up in sales calls with large fleet prospects: our user roles were a deal breaker. Coast offered only four default user roles, and their permissions couldn't be changed. The permissions weren't flexible enough to support the needs of employees who had specialized roles, or employees who needed permissions around their specific departments/locations.
My challenge was to create a new way of managing user roles that provided enough flexibility and granularity for large fleets, without alienating our SMB customers who didn't want a spaceship experience.
As the lead designer, I owned research, strategy, and end-to-end execution through engineering handoff.
Analyzing user feedback
Although I was aware that there was negative customer feedback about Coast's existing user roles experience, the actual problems were still ambiguous. I wanted concrete examples of how our current user roles were preventing us from signing large fleets. To understand where we were falling short of our customer's expectations, I gathered feedback from sales call recordings and internal support feedback. After digging into this data, I started to notice some patterns.
There were two types of feedback: fleets that needed to edit permissions on existing roles, and fleets that needed to create new roles from scratch.
Some fleets needed regional managers to have the full permissions of an admin, but limited to a specific location. Other fleets needed their managers to have fewer permissions.
And then at the far end of the spectrum, for the largest fleets, specific permission needs varied so much that only a custom role feature would make sense.
Competitive research
I wanted to see how other finance platforms, and B2B products more generally, handled user roles. I looked at Ramp, Brex, Bill, Okta, Salesforce, and Outreach.
Complexity of managing user roles and granularity of permissions was a large spectrum. But there were some commonalities across the platforms – user roles lived in a place dedicated to company-wide controls and administration. Default roles were often editable, and when they weren't, it was easy to clone them into a custom role.
Out of all of the references, I found Ramp's experience the most compelling. It grouped together different permission types in a way that felt powerful, yet simple. Although Okta and Outreach offered more granularity of controls, I was concerned that too much complexity would alienate the average Coast customer, and would be a barrier to onboarding. Ramp's product felt like a nice middle ground.
Screenshots of competitor research
Design strategy
After conducting my research, I consolidated my findings into a design strategy with a few core principles.
Medium to large fleets needed the ability to edit permissions on default user roles. These permission edits were primarily requested on the manager role.
The largest fleets had more varied needs for user role permissions, which would go beyond being able to edit a default role. They needed the ability to create a fully custom user role.
User roles needed to live in a place where permission changes could be made centrally, like Settings.
Being too granular with permissions would make the experience feel like a spaceship (and potentially slowing down onboarding time.)
Whiteboard session & driving alignment
As a next step, I led a design whiteboard session to drive strategic alignment with the PM and engineering lead on my team. In this meeting, I shared my proposed design strategy, and while we were mostly aligned, I received some initial pushback around whether we needed to build the ability to edit default roles and create custom ones.
This pushback was primarily from the engineering lead, who questioned whether it was worth building in the ability to edit default roles if someone could create a custom one. I considered this feedback and thought that this was a great point to bring up – I liked being challenged to think about why I felt strongly that both were necessary.
There were a few reasons why I wanted to retain default role editing. Many fleets wanted to change just 1-2 permissions on a default role, and I thought Ramp's approach would be a great fit for this type of use case. Creating a new role would be much more effort, and cloning a role with those updates would entail the fleet manager needing to update user role assignment for their employees. These outcomes seemed like an unnecessary hassle for just needing to edit a few permissions. This reasoning landed, and we moved forward with both capabilities.
Once we were aligned on the strategy, we had follow up brainstorming meetings where we grouped together user role permissions based on type, and aligned on which ones could be consolidated into a single permission.
Solution
Centralizing role permissions
Added a User Roles tab to Settings, where company wide controls live. This ensures scalability – edits to a role can be made in one place, automatically updating the permissions of any user with that role.
Intuitive grouping of permissions
Permissions are grouped by category, and corresponding side navigation group. This makes it clear what a user with the role can access in the platform.
Making user roles discoverable
"Manage user roles" link was added to the role selection menu on a person's profile to make the feature easier to find for customers. This helps fleets discover the feature during self-guided onboarding.
Impact
38% of the largest fleets in Coast with over 500 vehicles created a custom user role after launch.
This feature directly contributed to Coast meeting its aggressive 2025 target for 2x growth of active vehicles. User roles were no longer a blocker for signing large fleets, and we were able to expand into supporting multi-entity fleets.
After we released custom role features, we received positive feedback from key enterprise prospects. The new user role model would enable them to set up permissions for their fleets.
Tracking what types of roles were being created also enabled us to recognize clear patterns around common role types. This led us to create a default accountant role, since it was a popular type of custom role.