Case 01 · Holaspirit · Product design · UX/UI · Project management
Holaspirit runs on circles and roles a governance model where every task has a clear owner. Opening projects to collaboration across circles broke that clarity. This is the assignment system that let teams work across boundaries without losing track of who does what.
Context
In Holaspirit, people work inside circles (the Marketing team, the Sales team, ect...) and hold specific roles within them. It's a governance model built for clarity: every responsibility has a named owner.
To let teams collaborate more freely, project boards were opened up. Anyone could now join a project run by another circle. A Marketing member contributing to a Sales-led project, for example. The flexibility was the point, but it also broke what made circles work: knowing exactly who was responsible for what.
Before, a project drew from a single circle. After, it pulls roles and members from any circle. A powerful feature, but ownership stops being obvious.
The problem
The moment a project extended across circles, coordination started to leak in four predictable ways.
With several circles on one project, it stopped being obvious who owned which task.
Roles, circles, and members were mixed together, so their relationships inside a project were unclear.
The system tied every assignment to a single circle, blocking the cross-team workflows people now needed.
Without visibility across teams, the same work got picked up by two people.
On top of that, even a single assignment took multiple steps and context switches so the flow itself was slow before cross-circle work ever complicated it.
What the system demanded
This is an enterprise governance software. The design could not bend the rules to feel nicer. Every decision here is a direct answer to a constraint.
Constraint 01
Cross-circle assignments could never override role permissions or the structural logic underneath them.
Decision
A single interface that stays true to governance while bending for cross-team work.
Trade-off: more interface complexity, in exchange for structural integrity.
Constraint 02
Large organizations have hundreds of users and roles. The interface must stay manageable at that scale.
Decision
Choose a circle → the roles → the members. It narrows automatically, cutting the list down before it can overwhelm.
Trade-off: more clicks to choose the member, but far easier to find.
Constraint 03
Assignment shows up in meetings, metrics, and other governance modules. It had to feel like one system.
Decision
The same logic and interaction, wherever assignment appears. Not just for projects.
Trade-off: less freedom per module, far more coherence overall.
Constraint 04
Showing circles, roles and members together risked overwhelming the interface.
Decision
Hover states and compact modals show the relationship only when it's needed.
Trade-off: structure is one interaction away, not always on screen.
Three ways to assign
The hard part was not showing the data. It was making assignment feel like a single, obvious act while three layers of structure sat underneath. I tested three directions.
Each "added assignee" created a row: pick a circle, choose a role, then select members. It filtered like a funnel, with a confirm step before saving, and laid the structure out visually.
Wireframe: assigning by circle → role → members, one row at a time.
Clicking + Assignee opened a dropdown to choose the context: circle, role, or member. Choosing one opened a second dropdown with a search bar to type or scroll to the exact role.
Wireframe: pick a context, then search the exact role.
The final direction flipped the priority. Add members directly, or reach them through a circle or role when you want the context. Hover reveals which team someone is acting under; a click opens a small modal to reassign or unassign. Circle and role became optional funnels, not gates.
The system that shipped
The final flow starts with the user, that is who completes the task, while circle and role stay as optional filters when a part of the team is needed.
Add a member directly, or through a circle or role for extra context. Click a member and a small modal shows which team they're acting under, with a button to unassign. Hover circles, roles and members for a quick read of who is in what team.
High fidelity: add members directly, click to reassign, search always on top.
Add a member directly
Hover a circle to preview its team
Click a circle to remove a role or its members
Click a member to see their teams, or unassign
Progressive filtering: each choice narrows the next list, so an org with hundreds of roles stays a two-step selection.
How I worked with AI
On a governance product, judgment is the whole job. A wrong assignment model breaks permissions. AI helped me search wider, but I made the calls, and each step kept those two things separate.
AI did
Clustered interview notes and support signals into recurring frictions.
I decided
Which were built into the system versus isolated cases, and which were worth solving at scale.
AI did
Generated the full list of assignment scenarios, edge cases included, faster than I could name them.
I decided
Cut it to the cases governance actually had to handle, and removed what the permission rules wouldn't permit.
AI did
Researched and summarised how other tools handle assignment across teams.
I decided
Which patterns actually fit governance, and which would seem to fit but break the logic.
AI did
Stress-tested the flow against permission rules and large-org scale before I committed.
I decided
Fixed what broke and kept every path inside governance logic through to handoff.
AI did
Created layout variations and turned rough sketches into clickable screens.
I decided
Nitpicked toward the version that kept a dense flow feeling light, then refined it.
The decisions were mine. AI widened the search, but not the standard.
Outcome
Roles assigned across multiple circles. It started at 0% because collaboration simply couldn't happen before.
Time to complete an assignment, measured in Mixpanel across real sessions.
Positive feedback in user testing on the assignment experience.
Projects can now involve members, roles and circles across the whole organization.
Users see how members relate to roles and circles. Less ambiguity, less duplicate work.
The same pattern carries into meetings and metrics, staying performant for large orgs.
The takeaway
Flexibility and clarity usually trade against each other. The more open the system, the more complicated it gets.
The challenge was to have both: let teams cross boundaries without losing the clear ownership governance is meant to protect.