# Project Portfolio Review — Q3 2025

<Callout tone="info" title="Portfolio health summary">
Portfolio is <strong>on track</strong>: 8 of 11 projects are green, delivery pace is stable, and 2 risks need attention this week.
</Callout>

<Card title="Quarter selector & actions">
<Form name="portfolio-actions">
<Select label="Reporting quarter" placeholder="Q3 2025" options="Q1 2025 | Q2 2025 | Q3 2025 | Q4 2025" />
<Button variant="secondary">Export review (PDF)</Button>
</Form>
</Card>

<Card title="Active projects">
| Project | Owner | Deadline | Health |
|---|---|---|---|
| Atlas CRM Migration | Priya Sharma | Oct 14, 2025 | <Badge tone="success">Green</Badge> |
| Mobile App v2 | Marcus Chen | Oct 28, 2025 | <Badge tone="success">Green</Badge> |
| Payments Replatform | Elena Rodriguez | Nov 05, 2025 | <Badge tone="warning">Yellow</Badge> |
| Data Warehouse Upgrade | James Liu | Nov 12, 2025 | <Badge tone="success">Green</Badge> |
| Partner Portal | Aisha Khan | Nov 20, 2025 | <Badge tone="danger">Red</Badge> |
| Security Hardening | Tom Becker | Nov 27, 2025 | <Badge tone="success">Green</Badge> |
| Customer Onboarding Flow | Sofia Rossi | Dec 02, 2025 | <Badge tone="warning">Yellow</Badge> |
| Billing Automation | Daniel Kim | Dec 09, 2025 | <Badge tone="success">Green</Badge> |
| Legacy ERP Sunset | Laura Jensen | Dec 16, 2025 | <Badge tone="success">Green</Badge> |
| API Gateway Upgrade | Omar Farouk | Dec 23, 2025 | <Badge tone="success">Green</Badge> |
| Search Relevance v2 | Nadia Petrova | Jan 06, 2026 | <Badge tone="success">Green</Badge> |
</Card>

<Card title="Overdue milestones">
| Milestone | Project | Owner | Due date | Days overdue |
|---|---|---|---|---|
| UAT sign-off | Payments Replatform | Elena Rodriguez | Sep 18, 2025 | 4 |
| Data model freeze | Partner Portal | Aisha Khan | Sep 12, 2025 | 10 |
| Security audit complete | Customer Onboarding Flow | Sofia Rossi | Sep 22, 2025 | 0 |
</Card>

<Card title="Budget spent vs allocated">
<Chart type="bar" x="Project" y="USD">
| Project | Allocated | Spent |
|---|---|---|
| Atlas CRM Migration | 250000 | 198000 |
| Mobile App v2 | 310000 | 275000 |
| Payments Replatform | 420000 | 401000 |
| Data Warehouse Upgrade | 280000 | 165000 |
| Partner Portal | 190000 | 174000 |
| Security Hardening | 150000 | 92000 |
| Customer Onboarding Flow | 220000 | 188000 |
| Billing Automation | 175000 | 141000 |
| Legacy ERP Sunset | 360000 | 302000 |
| API Gateway Upgrade | 140000 | 88000 |
| Search Relevance v2 | 205000 | 159000 |
</Chart>
</Card>

<Card title="Team utilization">
| Team | Utilization | Headcount |
|---|---|---|
| Backend | 88% | 9 |
| Frontend | 92% | 7 |
| QA | 74% | 5 |
| DevOps | 81% | 4 |
| Design | 96% | 3 |
| Product | 78% | 4 |
</Card>

<Card title="Risks by severity">
| Risk | Project | Severity | Owner | Mitigation |
|---|---|---|---|---|
| Vendor API rate limits | Payments Replatform | <Badge tone="danger">Critical</Badge> | Elena Rodriguez | Negotiate higher tier; fallback queue ready |
| Designer bandwidth | Customer Onboarding Flow | <Badge tone="warning">High</Badge> | Sofia Rossi | Hire contractor for 4 weeks |
| Data migration errors | Legacy ERP Sunset | <Badge tone="warning">High</Badge> | Laura Jensen | Daily reconciliation checks |
| Third-party auth outage | Partner Portal | <Badge tone="warning">High</Badge> | Aisha Khan | Cache tokens; monitor uptime |
| Scope creep | Search Relevance v2 | <Badge tone="neutral">Medium</Badge> | Nadia Petrova | Change control board review |
| Cloud cost overrun | Data Warehouse Upgrade | <Badge tone="neutral">Medium</Badge> | James Liu | Weekly cost review |
| QA capacity crunch | Mobile App v2 | <Badge tone="neutral">Medium</Badge> | Marcus Chen | Cross-train DevOps on testing |
</Card>

<Card title="Deadlines in the next two weeks">
| Project | Milestone | Due date | Owner |
|---|---|---|---|
| Atlas CRM Migration | Go-live | Oct 14, 2025 | Priya Sharma |
| Payments Replatform | PCI certification | Oct 17, 2025 | Elena Rodriguez |
| Mobile App v2 | Beta release | Oct 21, 2025 | Marcus Chen |
| Security Hardening | Pen test complete | Oct 23, 2025 | Tom Becker |
</Card>

<Card title="Delivery pace — last six sprints">
<Chart type="line" x="Sprint" y="Story points">
| Sprint | Committed | Delivered |
|---|---|---|
| S14 | 320 | 305 |
| S15 | 340 | 332 |
| S16 | 310 | 298 |
| S17 | 360 | 351 |
| S18 | 345 | 340 |
| S19 | 350 | 347 |
</Chart>
</Card>

<Card title="Blocked work items">
| Work item | Project | Blocked by | Days blocked | Owner |
|---|---|---|---|---|
| Payment webhook retry | Payments Replatform | Vendor bug #4821 | 6 | Elena Rodriguez |
| Partner SSO integration | Partner Portal | Awaiting partner credentials | 4 | Aisha Khan |
| Onboarding email template | Customer Onboarding Flow | Design review pending | 3 | Sofia Rossi |
| ERP data cleansing script | Legacy ERP Sunset | Data quality issue | 2 | Laura Jensen |
</Card>

<Card title="Team management">
<Columns>
<Card title="Request more people">
<Form name="staffing-request">
<Select label="Project" placeholder="Select project" options="Atlas CRM Migration | Mobile App v2 | Payments Replatform | Data Warehouse Upgrade | Partner Portal | Security Hardening | Customer Onboarding Flow | Billing Automation | Legacy ERP Sunset | API Gateway Upgrade | Search Relevance v2" />
<Select label="Role" placeholder="Select role" options="Backend Engineer | Frontend Engineer | QA Engineer | DevOps Engineer | Designer | Product Manager" />
<Input label="Number of people" type="number" min="1" max="10" placeholder="2" />
<TextArea label="Justification" placeholder="Explain why additional capacity is needed…" rows="3" />
<Button>Submit request</Button>
</Form>
</Card>
<Card title="Archive finished project">
<Form name="archive-project">
<Select label="Project to archive" placeholder="Select completed project" options="Atlas CRM Migration | Mobile App v2 | Payments Replatform | Data Warehouse Upgrade | Partner Portal | Security Hardening | Customer Onboarding Flow | Billing Automation | Legacy ERP Sunset | API Gateway Upgrade | Search Relevance v2" />
<Callout tone="neutral" title="What happens">
Archiving moves the project to the archive, freezes its budget, and removes it from active reports.
</Callout>
<Button variant="danger">Archive project</Button>
</Form>
</Card>
</Columns>
</Card>

<Card title="Portfolio stats at a glance">
<Columns>
<Stat label="Active projects" value="11" note="2 yellow, 1 red" tone="info" icon="folder" />
<Stat label="Budget spent" value="$2.18M" note="of $2.70M allocated" tone="success" icon="chart-line" />
<Stat label="Team utilization" value="85%" note="target 80–90%" tone="success" icon="users" />
<Stat label="Blocked items" value="4" note="2 critical" tone="warning" icon="warning" />
</Columns>
</Card>

<FollowUps>
- Show me the risk register for the Payments Replatform project
- Which projects are most at risk of missing their deadline?
- Compare budget velocity across quarters
- List team members with the highest utilization this month
</FollowUps>