Bullpen
Shipped
A native team room replaces a $250 a month browser extension, and a 22-step setup becomes 3 clicks.
Co-designed at Coditas with my Design Manager from late 2022. By 2024 I was driving design solo while he reviewed. V3 is post-shipment concept work I did on my own in 2026.
Client
A US sales engagement platform
Brief from
The platform's CEO + my Design Manager at Coditas
Team
Me + Design Manager · 50+ engineers across 3 systems
Users
15 active reps · remote usability testing + contextual inquiry
Role
UX Designer
Surface
Web · B2B SaaS · Live calls
Duration
2022 → 2026 · End-to-end design
In short
- The problem: reps paid $250 a month for an external dialer just to listen to a teammate's call, behind a 22-step, 90-second setup.
- What I did: designed and tested a native team room, then drove it from research through to handoff to a 50-engineer team.
- My measured results, from a usability test with 15 users: SUS 85, 81.25% task success, setup cut from 22 clicks to 3.
- Status: V2 has been live in production since May 2026. V3 is my own follow-up concept.

What it moved
The numbers, in plain sight.
22 → 3
Onboarding clicks (V1)
81.25%
Task success (V1 test)
85
SUS score (V1 test)
3
Design systems
The story · 7 chapters
How Bullpen got built.
rev 00brief
What it took to hear a teammate's call.
❝The platform routes reps past voicemails and gatekeepers, straight to live calls. The platform had no built-in way for a team to work on those calls together.
So to listen in on a teammate, a rep installed a Chrome extension, linked a HubSpot account, granted mic and camera permissions, ran a test dial, and finished a tutorial. Twenty-two steps. About 90 seconds. $250 a month per user.
And it broke the moment a rep had to re-authenticate.
I co-designed Bullpen with my Design Manager from late 2022. By 2024 I was running the project myself, handling client calls, standups, Jira, QA and cross-team walkthroughs, while he reviewed.
Pull-out · Brief
$250/mo
External tool cost, eliminated

CallBlitz, the $250/mo external dependency, a 3-step Chrome-extension setup just to listen to a single call.
rev 01investigation
Testing the MVP.
❝Shipping an MVP first was a joint call with my Design Manager, forced by an engineering constraint. The dev team was load-balancing audio and video infrastructure and could not take the full spec on day one.
So we phased it. A load-tested proof of concept first, then conferencing, prospect-screen sharing, and listener mode after.
I designed the MVP after running contextual inquiry with active users of the platform, then tested it remotely with 15 of them.
The results were good and revealing at the same time. 85 SUS. 81.25% task success. But a hard 18.75% error rate, clustered on two specific modules. Reps were finishing tasks in under 15 seconds, and the friction that did show up had to be fixed before a full launch.
Pull-out · Investigation
81.25%
MVP task success rate

Contextual-inquiry roster, 15 active users screened across roles, regions, and experience levels before usability testing.

Test protocol, every module mapped to a user goal, a scenario, and a prototype link so success criteria were locked before sessions began.

Task scenarios for Admins and Reps, covering room creation, listening flows, expand/collapse, chat, and session sharing.

Edge-case tasks, widget panel interactions, calling-page leave behaviors, and DM alert handling during a live session.

Quantitative results, 85 SUS, 81.25% task success, with Expand-Collapse and Stop Listening as the two highest error-rate tasks.
rev 02insight
Splitting the data by role.
❝To make sense of the error rate, I split the test transcripts by role, Admin against Rep, and built one affinity map per group.
That split was the move. It showed these were not workflow problems. They were UI problems.
Stop Listening was icon-only and nobody could find it. Expand and collapse on the calling screen actively confused people. Small fixes, visible only because the data was cut by role first.
Pull-out · Insight
Admin vs Rep
Role-split affinity map

Findings-to-Solutions affinity map, transcripts clustered into Admin vs Rep cohorts, each red sticky tied to a specific UI fix on the right.
rev 03decision
Three shortcuts we did not take.
❝Each of these was the cheap answer at the time, and each is worth saying out loud.
| The shortcut | Why we did not take it | |
|---|---|---|
| Wrap it | Keep CallBlitz underneath and hide the same 22 steps behind our own UI. Nearly free to build. | Re-authentication was the actual complaint. Hiding a broken flow still breaks, just somewhere the rep cannot see it coming. |
| Ship it whole | The full team room in one release. This was the version I wanted. | Engineering was load-balancing audio and video infrastructure and could not take it. So we cut the release into four, and left the thing itself the same size. |
| Fix the copy | When the test found an 18.75% error rate, relabel the icon-only controls and move on. | The role split said these were findability failures. Explaining an icon nobody can find does not help. Stop Listening became text. |
rev 04build
What shipped.
❝V2 killed the external dependency. The 22-step setup became 3 clicks inside the workspace.
Pull-out · Build
22 → 3
Onboarding clicks reduced
| Before, 22 steps | After, 3 clicks |
|---|---|
| Install a Chrome extension. | Nothing to install. |
| Link a HubSpot account. | Already linked. It is the same product. |
| Grant mic and camera permissions. | Granted once, at the workspace level. |
| Run a test dial, then finish a tutorial. | Gone. |
| Breaks on re-authentication. | No second login to re-authenticate against. |
| $250 a month per user. | Nothing. It is in the product they already pay for. |
Team rooms auto-added members. Chat and video were native. A persistent widget kept reps connected as they moved around the product.
I handed off to a 50-engineer team across three design systems, under strict version control, so what shipped matched what we tested.
Bullpen V2 has been live in production since May 2026. The client's leadership has since posted strong production results publicly on LinkedIn: more decision-maker conversations, more meetings per rep, higher output per session. Those are the company's numbers and not mine to claim. My own measured numbers are the test results above.

V2 team room, auto-added members, Load List & Share Session built into the call bar so reps stay one click from going live.

Native multi-list loader inside the team room, replacing the old CallBlitz handoff and collapsing setup from 22 clicks to 3.

Listening to a peer's live call, the icon-only V1 control became an explicit 'Stop Listening' text CTA, closing the largest error gap from testing.

Integrated chat inside team rooms, collaboration, DMs, and call sharing now live in one surface instead of three separate tools.
rev 05reflection
V3, two years later.
❝V3 is my own follow-up concept, built after I left Coditas in early 2025. It answers one question. With a year of distance, what would I change?
The visual language moves to dark mode with higher information density. The widget pattern V2 only hinted at becomes persistent room presence. Each rep's state, listening, speaking or idle, now shows on their tile instead of inside a menu.
Pull-out · Reflection
2026
Independent post-shipment work

V3 team room, dark-first hub with live status pills (On call · Active session · Wrap time) replacing V2's flat presence dots.

V3 conference grid, 40-rep view with per-tile state and one-click 'Listen' pushed into the card, out of the menu it used to hide in.

Participants panel, On call, Active sessions, Speaking, Listening, and Idle grouped so admins can read the floor at a glance.

Audio-only listening view, waveform plus role context so coaches monitor without breaking the rep's focus.

Live call workspace, contact card, teleprompter, and the AI Transcript & Assist panel rendered in one production-ready dark layout.

Persistent room widget, sidebar shows who's listening to you in real time, the cross-screen continuity V2 only hinted at.
rev 06reflection
What I would do differently.
❝Designing for live, multi-rep surfaces meant designing for failure first. A network drop mid-call mattered as much as the happy path, so I co-wrote those states with engineering while the happy path was still being built.
What I would change is the handoff. Stricter annotation templates from day one. Late-cycle questions from developers are almost always day-one gaps in the design.

Annotated handoff frames, sort behavior, permissions, and live-update rules written next to the pixels so a 50-person eng team could ship without back-channel questions.
01. Co-designed the platform's native V2 team room. Cut a 22-step external setup to 3 clicks. Live in production May 2026.
Want this kind of work on your team?