Commercial Overview
Contracted revenue, pipeline value, and task health at a glance
—
Contracted Value
Signed agreements
—
Open Pipeline
Active opportunities
—
Weighted Pipeline
Probability-adjusted
🏢 Customer Tasks
Tasks linked to external customer deals (Fluence, Maxxen, ONE)
🏗️ Department Tasks
Internal tasks (Marketing, BD Operations, SineTech expansion, BI pipeline)
✅ Recently Completed (visible for 30 days)
Epic Overview
All active epics with their tasks grouped by business area
Owner Workload
Task distribution across the BD team
This Week's Focus
All tasks due this week — your meeting agenda view
| Task |
Epic |
Assignee |
Due Date |
Status |
Overdue & At Risk
Items past their due date or due today requiring immediate attention
Timeline Heatmap
Activity density by epic across recent and upcoming weeks
Priority Quadrant
Customer deal sizing vs close probability — find your stars and quick wins EST All values are estimates — update in Jira Epic descriptions
High Probability →
← Low Probability
← Small Deal
Large Deal →
Scoring Weights
Deal Size 40%
Probability 30%
Strategic Value 20%
Timeline 10%
Customer Pipeline
All active customer opportunities by stage EST All values are estimates
Customer Scorecard
Weighted priority scores for each customer deal — only external customer opportunities EST Values are estimates — update in Jira Epic descriptions
How to Update Pipeline Data
This dashboard reads from Jira Epic descriptions. Follow these steps to keep customer and pipeline data current.
1
Open the Jira Epic
Navigate to the SBD project in Jira and open the relevant Epic. Customer pipeline data is stored in the Epic description using structured fields.
2
Locate the Structured Metadata Block
At the bottom of each Epic description you'll find a metadata block with fields like DEAL_SIZE, PROBABILITY, etc. Edit these values directly.
DEAL_SIZE: XL [ESTIMATE]
PROBABILITY: Medium [ESTIMATE]
STRATEGIC_VALUE: High [ESTIMATE]
TIMELINE: This Quarter [ESTIMATE]
ESTIMATED_VALUE: €2,000,000 [ESTIMATE]
CONTACT: Customer Name — contact details
REGION: EU
PRODUCT: SineTech-4hr
3
Update the Values
Replace [ESTIMATE] with [CONFIRMED] once values are validated. Use the allowed values below:
| Field | Allowed Values | Scoring Weight |
| DEAL_SIZE | S, M, L, XL | 40% |
| PROBABILITY | Low, Medium, High | 30% |
| STRATEGIC_VALUE | Low, Medium, High | 20% |
| TIMELINE | This Quarter, Next Quarter, 6+ Months | 10% |
| ESTIMATED_VALUE | EUR amount (e.g. €500,000) | — |
| CONTACT | Name — role / company | — |
| REGION | EU, Global, UK, US, etc. | — |
| PRODUCT | SineTech-4hr, SineTech-2hr, BI-InsightEngine | — |
4
Adding a New Customer
To add a new customer to this dashboard, you need to update the customers array in this HTML file. Each customer entry includes: name, contact, stage (Prospecting / NDA / Follow-Up / Proposal / Negotiation / Closed), scoring dimensions, estimated value, region, product, and related Jira task keys. Alternatively, ask Claude to add a new customer for you.
5
Jira Epic Quick Links
Click any link below to jump directly to the Epic description in Jira:
💡 Scoring Formula
Each customer deal receives a score from 0–100 using weighted dimensions:
Score = (Deal Size × 40%) + (Probability × 30%) + (Strategic Value × 20%) + (Timeline × 10%)
Dimension values map to scores: XL/High/This Quarter = 100, L/Medium/Next Quarter = 60–75, M/S/Low/6+ Months = 25–50
Pipeline weighting uses probability: High = 80%, Medium = 50%, Low = 20%
🔄 Refreshing Dashboard Data
This dashboard uses a
Python refresh script to pull the latest task statuses, assignees, and due dates from Jira. Customer pipeline data (deal sizes, values, stages) is maintained manually in this HTML file.
One-Time Setup
# 1. Install Python dependency (if not already installed)
pip install requests
# 2. Create a .env file in the same folder as the dashboard
# Add your Jira credentials (get token from link below)
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
Running the Refresh
# Navigate to the dashboard folder and run:
python3 refresh_dashboard.py
The script will pull all SBD Epics and Tasks from Jira, update their statuses and due dates in this HTML file, run validation checks, and show a summary of what changed. Customer pipeline data (deal sizes, values, stages) is preserved — only task/epic fields from Jira are refreshed.
What Gets Refreshed
✓ From Jira
Epic statuses
Task statuses
Task assignees
Task due dates
New tasks/epics added
✎ Manual in HTML
Customer deal stages
Deal sizes & values
Scoring dimensions
Pipeline metadata
New customer entries
🚀 Future: Live Jira Cloud Connect
Planned upgrade: Migrate from the Python refresh script to a Jira Cloud Connect (OAuth 2.0) integration. This would allow each team member to authenticate with their own Jira account directly in the dashboard — no shared API tokens, no manual refresh needed.
What this means: The dashboard would become a live web app with real-time Jira data. Each user would click "Sign in with Atlassian" and see data filtered by their own permissions. This requires registering an Atlassian Connect app and hosting a small backend service for token management.
Status: PLANNED — Currently using the Python refresh script as an interim solution. The Connect upgrade will be scoped when the team grows beyond 5 active dashboard users or when automated daily updates become a priority.
🤖 Modifying This Dashboard with Claude
Any team member can use their own Claude instance (claude.ai, Claude Desktop, or Claude Code) to modify this dashboard. Below is the context Claude needs to work with this file effectively.
How to Get Started
1. Open this HTML file in Claude Desktop (Cowork mode) or paste it into a Claude conversation
2. Tell Claude what you want to change — it understands the full structure
3. Review the changes Claude suggests before saving
Prompt Context to Give Claude
This is the Rimac Energy BD (Business Development) Dashboard.
It is a single-file HTML dashboard with vanilla JS (no frameworks).
BRAND: Dark Teal (#023C33), Green (#31AB6E), Cream (#F4E9CD), Light Cream (#FAF8F5), Inter font.
DATA MODEL:
- `epics` array: Jira Epics (SBD-1 to SBD-5) with deal metadata
- `tasks` array: Jira Tasks (SBD-6+) with status, assignee, duedate, parent epic
- `customers` array: External customer deals with scoring dimensions
Fields: name, contact, stage, dealSize, probability, strategicValue,
timeline, estimatedValue, region, product, notes, relatedTasks, relatedEpics
PIPELINE STAGES: Prospecting → NDA → Follow-Up → Proposal → Negotiation → Closed
SCORING ENGINE: Score = (Deal Size × 40%) + (Probability × 30%) +
(Strategic Value × 20%) + (Timeline × 10%)
Values: XL/High/This Quarter = 100, L/Medium/Next Quarter = 60-75,
M/S/Low/6+ Months = 25-50
VIEWS (10 tabs): Overview, Customer Pipeline, Customer Scorecard,
Priority Quadrant, Epics, Workload, This Week, Overdue, Timeline, Guide
KEY RULES:
- Customer Scorecard and Priority Quadrant only show active prospects
(excludes Closed and Negotiation stage customers)
- The refresh script (refresh_dashboard.py) updates epics/tasks from Jira
but preserves customer data and deal metadata
- All values use EUR (€) — use formatEuro() for display
- Rimac Energy brand colours must be used throughout
Example Requests You Can Make
"Add a new customer called [Name] at [Stage] with €[Value]" — Claude will add to the customers array with all required fields
"Change Maxxen's stage from NDA to Follow-Up" — Claude will update the stage field and any related notes
"Add a new view/tab showing [something]" — Claude will create the view panel, nav tab, and render function
"Update the scoring weights to prioritise probability more" — Claude will adjust the SCORE_WEIGHTS and recalculate
"Add a chart showing pipeline value by stage" — Claude will build a canvas or CSS-based visualisation
"Create a new Jira task under SBD-3 for [description]" — Claude can create it in Jira and add it to the tasks array
Important Notes
✓ Always run the refresh script after making manual changes to sync task statuses from Jira
✓ Customer pipeline data (deals, stages, values) lives only in this HTML — not in Jira
✓ The Jira Epic descriptions contain structured metadata blocks — keep these in sync
⚠ If Claude adds a new customer, remember to also update the corresponding Jira Epic description
⚠ After any HTML edits, open the file in a browser to verify nothing is broken