Weave — Quarterly Planning Board
Three objectives over three monthly columns plus an explicit not-this-quarter list.
Rendering…
Make it your own.
{
"nodes": [
{ "id": "o1", "type": "ribbon", "label": "O1 · Time to first value under one day", "x": 40, "y": 20, "width": 320, "height": 74, "fill": "#fde68a", "stroke": "#b45309", "bold": true },
{ "id": "o2", "type": "ribbon", "label": "O2 · £1.2M net new ARR", "x": 400, "y": 20, "width": 320, "height": 74, "fill": "#fde68a", "stroke": "#b45309", "bold": true },
{ "id": "o3", "type": "ribbon", "label": "O3 · 99.95% platform availability", "x": 760, "y": 20, "width": 320, "height": 74, "fill": "#fde68a", "stroke": "#b45309", "bold": true },
{ "id": "m1", "type": "container", "label": "October", "x": 40, "y": 130, "width": 310, "height": 450, "fill": "rgba(219,234,254,0.18)", "stroke": "#2563eb" },
{ "id": "m2", "type": "container", "label": "November", "x": 390, "y": 130, "width": 310, "height": 450, "fill": "rgba(237,233,254,0.18)", "stroke": "#7c3aed" },
{ "id": "m3", "type": "container", "label": "December", "x": 740, "y": 130, "width": 310, "height": 450, "fill": "rgba(220,252,231,0.18)", "stroke": "#15803d" },
{ "id": "m4", "type": "container", "label": "Not this quarter", "x": 1090, "y": 130, "width": 310, "height": 450, "fill": "rgba(241,245,249,0.5)", "stroke": "#64748b" },
{ "id": "a1", "type": "note", "label": "Onboarding v2 — design and usability tests · Design", "x": 60, "y": 180, "width": 270, "height": 84, "fill": "#dbeafe", "stroke": "#2563eb" },
{ "id": "a2", "type": "note", "label": "Usage-based pricing spike · Finance + PM", "x": 60, "y": 280, "width": 270, "height": 84, "fill": "#dbeafe", "stroke": "#2563eb" },
{ "id": "a3", "type": "note", "label": "Postgres 16 upgrade on staging · Platform", "x": 60, "y": 380, "width": 270, "height": 84, "fill": "#dbeafe", "stroke": "#2563eb" },
{ "id": "a4", "type": "note", "label": "Hire two account executives · Sales", "x": 60, "y": 480, "width": 270, "height": 84, "fill": "#dbeafe", "stroke": "#2563eb" },
{ "id": "b1", "type": "note", "label": "Onboarding v2 — build and instrument · Product Eng", "x": 410, "y": 180, "width": 270, "height": 84, "fill": "#ede9fe", "stroke": "#7c3aed" },
{ "id": "b2", "type": "note", "label": "Partner referral programme launch · Marketing", "x": 410, "y": 280, "width": 270, "height": 84, "fill": "#ede9fe", "stroke": "#7c3aed" },
{ "id": "b3", "type": "note", "label": "Multi-region failover game day · SRE", "x": 410, "y": 380, "width": 270, "height": 84, "fill": "#ede9fe", "stroke": "#7c3aed" },
{ "id": "b4", "type": "note", "label": "SOC 2 Type II evidence collection · Security", "x": 410, "y": 480, "width": 270, "height": 84, "fill": "#ede9fe", "stroke": "#7c3aed" },
{ "id": "c1", "type": "note", "label": "Onboarding v2 GA, migrate existing accounts", "x": 760, "y": 180, "width": 270, "height": 84, "fill": "#dcfce7", "stroke": "#15803d" },
{ "id": "c2", "type": "note", "label": "Pricing decision for the Q1 rollout · Exec", "x": 760, "y": 280, "width": 270, "height": 84, "fill": "#dcfce7", "stroke": "#15803d" },
{ "id": "c3", "type": "note", "label": "Change freeze 20 Dec – 2 Jan, rota published", "x": 760, "y": 380, "width": 270, "height": 84, "fill": "#dcfce7", "stroke": "#15803d" },
{ "id": "d1", "type": "note", "label": "Mobile app rewrite — revisit in Q2", "x": 1110, "y": 180, "width": 270, "height": 84, "fill": "#f1f5f9", "stroke": "#64748b" },
{ "id": "d2", "type": "note", "label": "EU data residency — needs legal scoping", "x": 1110, "y": 280, "width": 270, "height": 84, "fill": "#f1f5f9", "stroke": "#64748b" },
{ "id": "d3", "type": "note", "label": "SSO for legacy plans — low demand", "x": 1110, "y": 380, "width": 270, "height": 84, "fill": "#f1f5f9", "stroke": "#64748b" }
],
"edges": [
{ "id": "e1", "source": "a1", "target": "b1", "type": "step", "label": "hand-off", "thickness": 2 },
{ "id": "e2", "source": "b1", "target": "c1", "type": "step", "thickness": 2 },
{ "id": "e3", "source": "a2", "target": "c2", "style": "dashed", "label": "input to decision" },
{ "id": "e4", "source": "b3", "target": "c3", "type": "step" },
{ "id": "e5", "source": "o1", "target": "a1", "style": "dotted", "arrowEnd": false },
{ "id": "e6", "source": "o2", "target": "a2", "style": "dotted", "arrowEnd": false },
{ "id": "e7", "source": "o3", "target": "b3", "style": "dotted", "arrowEnd": false }
]
}