Skip to content
Weave templates

Weave — Quarterly Planning Board

Three objectives over three monthly columns plus an explicit not-this-quarter list.

Template previewWeave
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 }
  ]
}