Inspiration
Modern teams are supposed to work like F1 pit crews: fast, synchronized, and focused on removing blockers.
In reality, project leads and developers spend a lot of time jumping between Jira, Confluence, and Bitbucket just to answer three basic questions:
- What’s going on?
- What’s next?
- What’s blocked?
With the first generation of UserHub we saw how useful a unified activity view is, but it was still very “me-centric”.
Codegeist 2025 and the Williams Racing theme pushed us to rethink UserHub as a team pit wall: a collaborative space, powered by a Rovo agent, where the goal is to drive the time lost to blockers towards
\[ T_\text{blocked} \rightarrow 0. \]
What it does
UserHub Pit Crew: Unblock Your Team is a collaborative command center for teams working in Jira, Confluence, and Bitbucket.
It provides:
Team “pit wall” dashboard
One shared view of work across tools: issues, pages, commits, and discussions.Standup & handover mode
Automatically organizes activity into:- What I worked on
- What I’m working on
- What’s blocking me
including people who are on holiday or out of office.
Rovo Pit Engineer agent
A specialized Rovo agent that:- Detects blockers across boards and projects
- Summarizes the last day (or week) per person or squad
- Suggests next actions and handover checklists
- Detects blockers across boards and projects
Private backlog & notes
Each person gets a personal backlog, notes, and checklists that reference Jira issues but don’t modify them. Perfect for planning without polluting the actual project data.
The result: faster standups, clearer handovers, and fewer “I didn’t know this was blocked” moments.
How we built it
We built UserHub Pit Crew on top of Atlassian Forge and the foundations of the existing UserHub app:
Forge app for Jira
A Forge UI serving as the main entry point and container for all UserHub Pit Crew views.Unified activity layer
A backend service aggregating:- Jira issues and transitions
- Linked Confluence pages
- Bitbucket branches / commits (current and planned) This activity is normalized into a common timeline and grouped by person, team, and project.
Rovo integration
- A
rovo:agentdefinition for the “Pit Engineer” agent, focused on standups, blockers, and handovers. rovo:actionmodules that allow the agent to:- Run JQL queries
- Fetch recent activity
- Detect potential blockers
- Generate summaries and handover plans
- A
Personal workspaces
Using Forge storage for:- Private notes
- Personal priority flags
- Local checklist items
All of this is linked to Jira issues but stored separately so it remains personal.
Collaborative views
Reusable UI components for:- Team overview
- Standup mode
- Holiday handover view
All powered from the same underlying activity engine.
Challenges we ran into
Runs on Atlassian We could not use any egress for whole design and concept. We are also blocked for integration with Bitbucket as there is no Oauth that can be used in same way as we connect with Confluence.
Multi product tool We decided to build it with latest functionalities offered by Atlassian. General Availabilitiy for MultiProduct apps is planned for end of January but we already implemented it with using it. Still waiting for Bitbucket.
Signal vs noise
Aggregating all activity is easy; showing only what matters for a standup or handover is not.
We had to experiment with:- Time windows
- Status-based filters
- Role-based visibility
to make the views readable and useful.
Designing a useful Rovo agent
An agent that “talks” a lot is not automatically helpful. We iterated on:- Clear, constrained tasks (“prepare a standup summary for Squad X in the last 24h”)
- Structured outputs (bullet points, blockers lists, suggested owners)
- Guardrails around project boundaries and permissions.
- Clear, constrained tasks (“prepare a standup summary for Squad X in the last 24h”)
Context stitching
Mapping Jira issues to Confluence documents and Bitbucket work in a way that feels natural to users, without forcing them into strict naming conventions, required careful heuristics and UI cues.Balancing privacy and collaboration
People want:- Private notes, drafts, and personal prioritization
and at the same time: - Shared clarity at team level
Keeping these layers separate but connected was both a UX and data-model challenge.
- Private notes, drafts, and personal prioritization
Accomplishments that we’re proud of
From dashboard to pit wall
We transformed UserHub from a personal “activity stream” into a shared command center designed for teams, standups, and unblocking.A focused Rovo Pit Engineer
We built a Rovo agent that:- Surfaces blockers instead of generic summaries
- Produces standup-ready bullets instead of long prose
- Proposes concrete handover steps when someone is out.
- Surfaces blockers instead of generic summaries
Production-ready base
The project stands on an existing, real-world app, not just a hackathon-only prototype. This means:- The core dashboards are already battle-tested
- What we build for Codegeist can realistically ship to customers.
Stress-friendly UX
The interface is specifically designed for the “oh no, they’re on holiday and this is due tomorrow” scenario:
one screen, all open work, clear owners, and a Rovo-generated handover checklist.
What we learned
Teams care more about unblocking than reporting
Metrics and charts are nice, but what teams truly need is help answering:- What’s stuck?
- Who can move it forward?
- What’s the next best step?
Rovo works best with narrow, well-defined jobs
When we gave the agent clear responsibilities (e.g. “prepare standup summary for Squad A”), the results were dramatically more useful than broad, open-ended prompts.Personal and shared workflows must coexist
People want a private space to think and plan, but managers and teammates need a shared reality. Designing for both layers from day one is crucial.Context is everything
A “blocker” without linked issue, document, or commit is just a vague complaint. Real unblocking depends on connecting all relevant artifacts across the Atlassian ecosystem.
What's next for UserHub Pit Crew: Unblock Your Team
Stronger Rovo actions
Move from suggestions to “review-and-apply” actions:- Update statuses
- Reassign owners
- Create or update handover tasks
with explicit human approval.
Role-based pit views
Tailor views for:- Developers (today’s tasks + immediate blockers)
- Product owners (scope risks + release impact)
- Team leads (capacity, ownership, and cross-team blockers).
- Developers (today’s tasks + immediate blockers)
Deeper Confluence and Bitbucket integration
Bring document changes, PR status, and branch activity into the same pit wall, with filters optimized for each role.Runs on Atlassian with Bitbucket included
When possible we will include Bitbucket Commits and PR visibility directly into userhub. We have achieved it withour Runs on Atlassian but as we already mention "Runs on Atlassian" is our top priority.Industry-specific presets
Offer pre-configured dashboards and Rovo behaviors for specific industries (e.g. regulated sectors, manufacturing, agencies), where change management and traceability are critical.
Ultimately, the vision is simple:
UserHub Pit Crew becomes the place where teams actually run their day—
one pit wall, one Rovo race engineer, and as close as possible to \(T_\text{blocked} = 0\).
Built With
- forge
- runs-on-atlassian

Log in or sign up for Devpost to join the conversation.