root = Card([header, filters, kpiRow1, kpiRow2, revenueCostChart, budgetHeadcount, risksInitiatives, boardMeeting, exportBtn])
header = CardHeader("CEO Quarterly Command View", "Q3 2024 · Global · Last updated 2024-10-15")
filters = Card([quarterSelect, regionSelect], "clear", "row", "m", "center", "between")
quarterSelect = Select("quarter", quarterOptions, "Select quarter", null, "Q3 2024", "medium")
quarterOptions = [q1, q2, q3, q4]
q1 = SelectItem("Q1 2024", "Q1 2024")
q2 = SelectItem("Q2 2024", "Q2 2024")
q3 = SelectItem("Q3 2024", "Q3 2024")
q4 = SelectItem("Q4 2024", "Q4 2024")
regionSelect = Select("region", regionOptions, "Select region", null, "Global", "medium")
regionOptions = [rGlobal, rAmericas, rEMEA, rAPAC]
rGlobal = SelectItem("global", "Global")
rAmericas = SelectItem("americas", "Americas")
rEMEA = SelectItem("emea", "EMEA")
rAPAC = SelectItem("apac", "APAC")
kpiRow1 = Card([revKPI, costKPI, profitKPI, runwayKPI], "clear", "row", "l", "stretch", "between", true)
revKPI = Card([revLabel, revValue, revDelta], "card", "column", "xs")
revLabel = TextContent("Revenue (QTD)", "small")
revValue = TextContent("$42.8M", "large-heavy")
revDelta = TextContent("+12% vs plan", "small")
costKPI = Card([costLabel, costValue, costDelta], "card", "column", "xs")
costLabel = TextContent("Costs (QTD)", "small")
costValue = TextContent("$28.4M", "large-heavy")
costDelta = TextContent("-3% vs plan", "small")
profitKPI = Card([profitLabel, profitValue, profitDelta], "card", "column", "xs")
profitLabel = TextContent("Profit (QTD)", "small")
profitValue = TextContent("$14.4M", "large-heavy")
profitDelta = TextContent("+28% vs plan", "small")
runwayKPI = Card([runwayLabel, runwayValue, runwayDelta], "card", "column", "xs")
runwayLabel = TextContent("Months of Runway", "small")
runwayValue = TextContent("18.2", "large-heavy")
runwayDelta = TextContent("+2.1 vs last quarter", "small")
kpiRow2 = Card([pipelineKPI, winRateKPI, custKPI, churnKPI, npsKPI], "clear", "row", "l", "stretch", "between", true)
pipelineKPI = Card([pipeLabel, pipeValue, pipeDelta], "card", "column", "xs")
pipeLabel = TextContent("Sales Pipeline", "small")
pipeValue = TextContent("$89.3M", "large-heavy")
pipeDelta = TextContent("+18% QoQ", "small")
winRateKPI = Card([winLabel, winValue, winDelta], "card", "column", "xs")
winLabel = TextContent("Win Rate", "small")
winValue = TextContent("24.7%", "large-heavy")
winDelta = TextContent("+1.2pp QoQ", "small")
custKPI = Card([custLabel, custValue, custDelta], "card", "column", "xs")
custLabel = TextContent("Customers", "small")
custValue = TextContent("1,247", "large-heavy")
custDelta = TextContent("+89 net new", "small")
churnKPI = Card([churnLabel, churnValue, churnDelta], "card", "column", "xs")
churnLabel = TextContent("Churn Rate (LTM)", "small")
churnValue = TextContent("5.2%", "large-heavy")
churnDelta = TextContent("-0.4pp YoY", "small")
npsKPI = Card([npsLabel, npsValue, npsDelta], "card", "column", "xs")
npsLabel = TextContent("NPS", "small")
npsValue = TextContent("62", "large-heavy")
npsDelta = TextContent("+4 vs last quarter", "small")
revenueCostChart = Card([revCostHeading, revChart, costChart], "card", "column", "l")
revCostHeading = Heading("Revenue & Costs — Last 4 Quarters", "h3")
revChart = BarChart(quarterLabels, [revSeries, costSeries], "grouped", "Quarter", "USD (M)")
quarterLabels = ["Q4 2023", "Q1 2024", "Q2 2024", "Q3 2024"]
revSeries = Series("Revenue", [38.2, 39.5, 41.1, 42.8])
costSeries = Series("Costs", [26.1, 26.8, 27.5, 28.4])
costChart = LineChart(quarterLabels, [profitSeries], "natural", "Quarter", "USD (M)")
profitSeries = Series("Profit", [12.1, 12.7, 13.6, 14.4])
budgetHeadcount = Card([budgetHeading, budgetChart, hcChart], "card", "column", "l")
budgetHeading = Heading("Budget vs Plan & Headcount by Department", "h3")
budgetChart = HorizontalBarChart(deptLabels, [budgetPlanSeries, budgetActualSeries], "grouped", "USD (M)", "Department")
deptLabels = ["Engineering", "Sales & Marketing", "Product", "G&A", "R&D", "Operations"]
budgetPlanSeries = Series("Plan", [12.5, 9.8, 4.2, 3.1, 2.8, 1.9])
budgetActualSeries = Series("Actual", [11.8, 10.2, 4.0, 3.3, 2.9, 1.7])
hcChart = BarChart(deptLabels, [hcSeries], "grouped", "Department", "Headcount")
hcSeries = Series("Headcount", [245, 180, 65, 42, 38, 28])
risksInitiatives = Card([risksHeading, risksTable, initiativesHeading, initiativesTable], "card", "column", "l")
risksHeading = Heading("Top Risks", "h3")
risksTable = Table([riskCol, impactCol, likelihoodCol, ownerCol, mitigationCol])
riskCol = Col("Risk", ["Revenue concentration (top 3 clients = 38%)", "Talent attrition in Engineering", "Cloud cost overrun", "Competitive pricing pressure", "Regulatory changes in EU"])
impactCol = Col("Impact", ["High", "High", "Medium", "Medium", "Low"])
likelihoodCol = Col("Likelihood", ["Medium", "High", "High", "Medium", "Low"])
ownerCol = Col("Owner", ["CRO", "CTO", "CFO", "CPO", "General Counsel"])
mitigationCol = Col("Mitigation", ["Diversify pipeline; expand mid-market", "Retention bonuses; hiring plan", "FinOps program; reserved instances", "Value-based pricing; differentiation", "Monitor; legal readiness"])
initiativesHeading = Heading("Strategic Initiatives", "h3")
initiativesTable = Table([initCol, statusCol, ownerCol2, progressCol, targetCol])
initCol = Col("Initiative", ["AI Product Launch", "International Expansion (EMEA)", "PLG Motion", "Platform Scalability", "Customer Success Transformation"])
statusCol = Col("Status", ["On Track", "At Risk", "On Track", "Behind", "On Track"])
ownerCol2 = Col("Owner", ["CPO", "CRO", "CMO", "CTO", "CCO"])
progressCol = Col("Progress", ["65%", "30%", "55%", "25%", "70%"])
targetCol = Col("Target Date", ["Q1 2025", "Q2 2025", "Q4 2024", "Q1 2025", "Q4 2024"])
boardMeeting = Card([boardHeading, boardItems], "card", "column", "l")
boardHeading = Heading("Next Board Meeting — Key Items", "h3")
boardItems = ListBlock([board1, board2, board3, board4, board5], "number")
board1 = ListItem("Approve Q4 budget & FY25 plan", "Finance to present updated model with scenario analysis")
board2 = ListItem("Review AI product go-to-market strategy", "CPO & CMO joint session; competitive positioning")
board3 = ListItem("Discuss EMEA expansion investment decision", "CRO to present market entry options & ROI")
board4 = ListItem("Talent retention & org design review", "CHRO to present attrition data & compensation bands")
board5 = ListItem("Risk committee update: cyber & compliance", "CISO & GC quarterly risk posture review")
exportBtn = Buttons([exportButton])
exportButton = Button("Export Board Pack (PDF)", null, "primary", "normal", "medium")