@rubytech/create-realagent-code 0.1.255 → 0.1.256
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/plugin-install.test.js +58 -40
- package/dist/index.js +77 -26
- package/dist/lib/plugin-install.js +31 -29
- package/package.json +1 -1
- package/payload/platform/config/brand-registry.json +8 -0
- package/payload/platform/config/brand.json +2 -2
- package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +12 -0
- package/payload/platform/lib/graph-write/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-write/dist/index.js +2 -0
- package/payload/platform/lib/graph-write/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-write/src/index.ts +2 -0
- package/payload/platform/neo4j/schema.cypher +126 -0
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +3 -6
- package/payload/platform/plugins/admin/mcp/dist/index.js +0 -60
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/skills/insight/SKILL.md +24 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +63 -10
- package/payload/platform/plugins/docs/PLUGIN.md +1 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +1 -1
- package/payload/platform/plugins/docs/references/deployment.md +18 -5
- package/payload/platform/plugins/docs/references/memory-guide.md +4 -0
- package/payload/platform/plugins/docs/references/platform.md +1 -1
- package/payload/platform/plugins/docs/references/plugins-guide.md +1 -1
- package/payload/platform/plugins/docs/references/slides.md +31 -0
- package/payload/platform/plugins/docs/references/voice-mirror-guide.md +1 -1
- package/payload/platform/plugins/memory/PLUGIN.md +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-typed-edge-pass.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +10 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
- package/payload/platform/plugins/memory/references/schema-construction.md +72 -0
- package/payload/platform/plugins/slides/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/slides/LICENSE +21 -0
- package/payload/platform/plugins/slides/PLUGIN.md +18 -0
- package/payload/platform/plugins/slides/PROVENANCE.md +40 -0
- package/payload/platform/plugins/slides/commands/add-slide.md +29 -0
- package/payload/platform/plugins/slides/commands/slides-claus.md +39 -0
- package/payload/platform/plugins/slides/commands/slides-new-component.md +39 -0
- package/payload/platform/plugins/slides/commands/slides-outline.md +43 -0
- package/payload/platform/plugins/slides/commands/slides-review.md +52 -0
- package/payload/platform/plugins/slides/commands/slides-theme.md +64 -0
- package/payload/platform/plugins/slides/commands/slides.md +59 -0
- package/payload/platform/plugins/slides/skills/deck-system/REFERENCE.md +581 -0
- package/payload/platform/plugins/slides/skills/deck-system/SKILL.md +607 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-board.md +426 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-claus.md +185 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-mbb.md +450 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-product-launch.md +579 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-sales.md +464 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING-sequoia.md +489 -0
- package/payload/platform/plugins/slides/skills/deck-system/STORYTELLING.md +273 -0
- package/payload/platform/plugins/slides/skills/deck-system/deck-craft.html +1371 -0
- package/payload/platform/plugins/slides/skills/deck-system/deck-solid.html +1667 -0
- package/payload/platform/plugins/slides/skills/deck-system/deck.html +1359 -0
- package/payload/platform/plugins/url-get/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/url-get/PLUGIN.md +26 -21
- package/payload/platform/plugins/url-get/mcp/dist/index.js +3 -3
- package/payload/platform/plugins/url-get/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.d.ts +1 -2
- package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.d.ts.map +1 -1
- package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.js +20 -40
- package/payload/platform/plugins/url-get/mcp/dist/tools/url-get.js.map +1 -1
- package/payload/platform/scripts/setup-account.sh +1 -10
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +0 -1
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +5 -0
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +32 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +2 -2
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
- package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
- package/payload/platform/templates/specialists/agents/typed-edge-classifier.md +1 -1
- package/payload/server/public/assets/AdminShell-T-YknnBn.js +1 -0
- package/payload/server/public/assets/Checkbox-DmDxpqVv.js +1 -0
- package/payload/server/public/assets/admin-COUV-jgt.js +1 -0
- package/payload/server/public/assets/{arc-aUiRP9AS.js → arc-B2CweJq3.js} +1 -1
- package/payload/server/public/assets/architecture-YZFGNWBL-Dnn6Hc65.js +1 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-c09loTER.js → architectureDiagram-Q4EWVU46-DP2o-MFV.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-Cjdeyoq1.js → blockDiagram-DXYQGD6D-DO4mcYDJ.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-NY6Wlzo2.js → c4Diagram-AHTNJAMY-Sy1giHbj.js} +1 -1
- package/payload/server/public/assets/channel-CEpR_0rE.js +1 -0
- package/payload/server/public/assets/{chunk-2KRD3SAO-BK3470lx.js → chunk-2KRD3SAO-CKsCYCsN.js} +1 -1
- package/payload/server/public/assets/chunk-336JU56O-C0-P-aUF.js +2 -0
- package/payload/server/public/assets/chunk-426QAEUC-DFjEt3Zb.js +1 -0
- package/payload/server/public/assets/{chunk-4BX2VUAB-BOvVdJLf.js → chunk-4BX2VUAB-B8bqAmBa.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BXpto3yW.js → chunk-4TB4RGXK-D1k0VSlW.js} +1 -1
- package/payload/server/public/assets/{chunk-55IACEB6-BwZyF7vR.js → chunk-55IACEB6-B-p_QNqz.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-C403gCUk.js → chunk-5FUZZQ4R-D6U6tV_j.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-CjVzXQEp.js → chunk-5PVQY5BW-CYK76xfs.js} +1 -1
- package/payload/server/public/assets/{chunk-67CJDMHE-D5bhMrtY.js → chunk-67CJDMHE-BC9js-lf.js} +1 -1
- package/payload/server/public/assets/{chunk-7N4EOEYR-Si7Lgrwc.js → chunk-7N4EOEYR-4j2OqKkv.js} +1 -1
- package/payload/server/public/assets/{chunk-AA7GKIK3-DMuHtDqO.js → chunk-AA7GKIK3-Coen-fXN.js} +1 -1
- package/payload/server/public/assets/{chunk-BSJP7CBP-L79XKVcb.js → chunk-BSJP7CBP-CAiOBvec.js} +1 -1
- package/payload/server/public/assets/{chunk-CIAEETIT-C0O7Upmg.js → chunk-CIAEETIT-AJzzpZVb.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-DJcJAsAg.js → chunk-EDXVE4YY-BL4BKozX.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-CFDNvYu1.js → chunk-ENJZ2VHE-mhAFG8UD.js} +1 -1
- package/payload/server/public/assets/{chunk-FMBD7UC4-C_E43NFJ.js → chunk-FMBD7UC4-H231gZA_.js} +1 -1
- package/payload/server/public/assets/{chunk-FOC6F5B3-D9lWWHAu.js → chunk-FOC6F5B3-Cl3ZZjYG.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-ecLOxGhL.js → chunk-ICPOFSXX-DOEzvzJa.js} +2 -2
- package/payload/server/public/assets/{chunk-K5T4RW27-DuhsNH4c.js → chunk-K5T4RW27-C_ipbUDD.js} +1 -1
- package/payload/server/public/assets/{chunk-KGLVRYIC-B4-A1Abi.js → chunk-KGLVRYIC-CTsDNSCU.js} +1 -1
- package/payload/server/public/assets/{chunk-LIHQZDEY-BxqgHRgT.js → chunk-LIHQZDEY-DvSXhkGf.js} +1 -1
- package/payload/server/public/assets/{chunk-ORNJ4GCN-DEYQ5WaJ.js → chunk-ORNJ4GCN-p574NOI7.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-B7MW66KB.js → chunk-OYMX7WX6-BlEgFM6U.js} +1 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-DpF06ZZQ.js +1 -0
- package/payload/server/public/assets/{chunk-U2HBQHQK-BMawmsyk.js → chunk-U2HBQHQK-B2bDK0jv.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-CT6g7pno.js → chunk-X2U36JSP-D69BxKFw.js} +1 -1
- package/payload/server/public/assets/{chunk-XPW4576I-CBfZXZDB.js → chunk-XPW4576I-Dm-PcyUi.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-xeAluiAH.js → chunk-YZCP3GAM-Be8RnXgx.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-BRN9qUC5.js → chunk-ZZ45TVLE-Ck8PCTa4.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CYbXvKLI.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DEyHzRhq.js +1 -0
- package/payload/server/public/assets/clone-y8gexbBy.js +1 -0
- package/payload/server/public/assets/{cose-bilkent-S5V4N54A-Br2gjtEO.js → cose-bilkent-S5V4N54A-CmkW2Eaj.js} +1 -1
- package/payload/server/public/assets/{dagre-DTjePoco.js → dagre-Dqp-ns8F.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-DHBkRke4.js → dagre-KV5264BT-ZgWWXPLc.js} +1 -1
- package/payload/server/public/assets/data-gy6QH9c1.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-BIq1-idL.js → diagram-5BDNPKRD-CTX5-ScM.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-BsIUDzV6.js → diagram-G4DWMVQ6-BovIsO6H.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-CgHSri2i.js → diagram-MMDJMWI5-DcETsQy-.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-Ce2Wh9ZX.js → diagram-TYMM5635-yyq6peoZ.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-BU0Kh6OQ.js → erDiagram-SMLLAGMA-CiNToftB.js} +1 -1
- package/payload/server/public/assets/{flatten-Bo6YRmWl.js → flatten-BtFI066E.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-B0N06MF7.js → flowDiagram-DWJPFMVM-Xnl3SpIM.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BVbx4ARZ.js → ganttDiagram-T4ZO3ILL-C1iyWe0f.js} +1 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-CNs-LD5i.js +1 -0
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-C-xRJ94t.js → gitGraphDiagram-UUTBAWPF-D97pbMQb.js} +1 -1
- package/payload/server/public/assets/graph-labels-cZu4pK16.js +1 -0
- package/payload/server/public/assets/{graph-g48ZcA5M.js → graph-qz5tFKqU.js} +3 -3
- package/payload/server/public/assets/{graphlib-YmNcoMjY.js → graphlib-Lq8ijgON.js} +1 -1
- package/payload/server/public/assets/info-OMHHGYJF-DsTNigSS.js +1 -0
- package/payload/server/public/assets/infoDiagram-42DDH7IO-C_OarRTA.js +2 -0
- package/payload/server/public/assets/{isEmpty-D6Kr-M1M.js → isEmpty-D6QovjYR.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DTrq54yC.js → ishikawaDiagram-UXIWVN3A-B8XBdjJn.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-OZZZMrFX.js → journeyDiagram-VCZTEJTY-CZYbiOaQ.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY--w-IP9pN.js → kanban-definition-6JOO6SKY-B1PybFoh.js} +1 -1
- package/payload/server/public/assets/{line-Ckeulv5T.js → line-D-tw3hHp.js} +1 -1
- package/payload/server/public/assets/{linear-DOh_6k2k.js → linear-BHhXD3cd.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-CVRAxYRD.js → mermaid-parser.core-C9RAnysF.js} +2 -2
- package/payload/server/public/assets/{mermaid.core-B-mE18I1.js → mermaid.core-B532LT1r.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-Bm8mDicL.js → mindmap-definition-QFDTVHPH-DGlgeeTV.js} +1 -1
- package/payload/server/public/assets/{ordinal-BDi6f4xk.js → ordinal-Bl-aM5b9.js} +1 -1
- package/payload/server/public/assets/packet-4T2RLAQJ-DGES22b-.js +1 -0
- package/payload/server/public/assets/pie-ZZUOXDRM-ChKeDbzt.js +1 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-BCmRLgGO.js → pieDiagram-DEJITSTG-DV9FIWko.js} +1 -1
- package/payload/server/public/assets/{public-DknO-g9S.js → public-Bu2_Xi0a.js} +5 -5
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CniTIUTm.js → quadrantDiagram-34T5L4WZ-Betwya4l.js} +1 -1
- package/payload/server/public/assets/radar-PYXPWWZC-FGG5Fs7N.js +1 -0
- package/payload/server/public/assets/{reduce-CGi9ik8i.js → reduce-BD4xUd2c.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-CoxBSj9M.js → requirementDiagram-MS252O5E-Cq3vODdg.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-BjS-4jzq.js → sankeyDiagram-XADWPNL6-x8krXWcS.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-B9jVOnPR.js → sequenceDiagram-FGHM5R23-i-_uH-Yl.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BvOQPzP8.js → stateDiagram-FHFEXIEX-il4KqSgI.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B6zNJ6Tv.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CdfgWLo1.js → timeline-definition-GMOUNBTQ-DATdZkA5.js} +1 -1
- package/payload/server/public/assets/treeView-SZITEDCU-VAQQdbtf.js +1 -0
- package/payload/server/public/assets/treemap-W4RFUUIX-DKchO3zI.js +1 -0
- package/payload/server/public/assets/useSelectionMode-A5KItZ2T.js +13 -0
- package/payload/server/public/assets/{brand-D0gNihp7.css → useSelectionMode-C-Ojh7W9.css} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-JCgpIbj-.js → vennDiagram-DHZGUBPP-BJh9tJTt.js} +1 -1
- package/payload/server/public/assets/wardley-RL74JXVD-CBGtx0bS.js +1 -0
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-Dei3VqHo.js → wardleyDiagram-NUSXRM2D-EMN1Hdfg.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-DUtIyoIb.js → xychartDiagram-5P7HB3ND-DbUWXa7T.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +5 -6
- package/payload/server/public/public.html +4 -5
- package/payload/server/server.js +53 -12
- package/payload/platform/plugins/admin/hooks/__tests__/insight.test.sh +0 -395
- package/payload/platform/plugins/admin/hooks/insight.sh +0 -219
- package/payload/platform/plugins/admin/hooks/lib/admin-graph-pass-common.sh +0 -239
- package/payload/server/public/assets/AdminShell-892Jy_rs.js +0 -1
- package/payload/server/public/assets/Checkbox-Bc2QzX9b.js +0 -1
- package/payload/server/public/assets/admin-D3K13ndi.js +0 -1
- package/payload/server/public/assets/architecture-YZFGNWBL--v-pJPNp.js +0 -1
- package/payload/server/public/assets/brand-CcN3dELF.js +0 -9
- package/payload/server/public/assets/channel-B1IT7to2.js +0 -1
- package/payload/server/public/assets/chunk-336JU56O-CdKRCIeE.js +0 -2
- package/payload/server/public/assets/chunk-426QAEUC-BybuQ3Ve.js +0 -1
- package/payload/server/public/assets/chunk-QZHKN3VN-Bd-GrQM6.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-rjCize6i.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BORWOUt0.js +0 -1
- package/payload/server/public/assets/clone-Csqv5U6T.js +0 -1
- package/payload/server/public/assets/data-Br-pdljK.js +0 -1
- package/payload/server/public/assets/gitGraph-7Q5UKJZL-CI0s_tqn.js +0 -1
- package/payload/server/public/assets/graph-labels-BYH-IPCb.js +0 -1
- package/payload/server/public/assets/info-OMHHGYJF-g3gYW7Qm.js +0 -1
- package/payload/server/public/assets/infoDiagram-42DDH7IO-Di6oPQ_-.js +0 -2
- package/payload/server/public/assets/packet-4T2RLAQJ-CT0TB9HI.js +0 -1
- package/payload/server/public/assets/pie-ZZUOXDRM-CXLe7TFF.js +0 -1
- package/payload/server/public/assets/radar-PYXPWWZC-DnPLBl-D.js +0 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-v4ND10uR.js +0 -1
- package/payload/server/public/assets/treeView-SZITEDCU-C3cb7Xwe.js +0 -1
- package/payload/server/public/assets/treemap-W4RFUUIX-Dc7G3Bgm.js +0 -1
- package/payload/server/public/assets/useSelectionMode-DwsyptOw.js +0 -5
- package/payload/server/public/assets/wardley-RL74JXVD-DtgibWAt.js +0 -1
- /package/payload/server/public/assets/{_baseFor-Cam2PbSt.js → _baseFor-Cs8Y-rGh.js} +0 -0
- /package/payload/server/public/assets/{array-DYRGGQae.js → array-iHZP4KWJ.js} +0 -0
- /package/payload/server/public/assets/{cytoscape.esm-nWsJMTNI.js → cytoscape.esm-BR2GOQ8_.js} +0 -0
- /package/payload/server/public/assets/{defaultLocale-Du1XY3Dp.js → defaultLocale-B9aLeOTg.js} +0 -0
- /package/payload/server/public/assets/{dist-BzAsli7o.js → dist-DB-VPj_8.js} +0 -0
- /package/payload/server/public/assets/{init-B5BXBRcm.js → init-BNFRgqHM.js} +0 -0
- /package/payload/server/public/assets/{katex-HOUACuRw.js → katex-B-EfS3nw.js} +0 -0
- /package/payload/server/public/assets/{path-CNO468J-.js → path-DmWWdwp7.js} +0 -0
- /package/payload/server/public/assets/{rough.esm-DRO6hWPh.js → rough.esm-Ci7Kjt46.js} +0 -0
- /package/payload/server/public/assets/{src-CWiyyVfn.js → src-C1jfwBq0.js} +0 -0
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
# Storytelling: Product Launch
|
|
2
|
+
|
|
3
|
+
How to build a product launch deck that makes people want what you've made.
|
|
4
|
+
|
|
5
|
+
Product launches are performances. The deck is the pacing mechanism. Every section is a reveal. The audience should feel like they're unwrapping something, layer by layer, each one more exciting than the last. The moment you show the product before you've built anticipation, you've lost the plot.
|
|
6
|
+
|
|
7
|
+
This guide is the narrative framework for launch decks. It works for keynotes, press events, internal product reviews, customer webinars, and "here's what we built" moments. The Slides template was built to support this arc.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## The nine-beat structure
|
|
12
|
+
|
|
13
|
+
Every product launch has a shape. This is ours:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
Start ──────────────────────────────────────────────────────── End
|
|
17
|
+
│ Setup │ Problem │ Reveal │ Demo │ Specs │ Proof │ OMT │ CTA │ Close │
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Nine beats. Some launches skip one or two. The "one more thing" is optional. The rest are load-bearing.
|
|
21
|
+
|
|
22
|
+
| Beat | ~Share | Purpose |
|
|
23
|
+
|------|--------|---------|
|
|
24
|
+
| The Setup | 10% | Build the world |
|
|
25
|
+
| The Problem | 10% | Name the friction |
|
|
26
|
+
| The Reveal | 15% | Drop the product |
|
|
27
|
+
| The Demo | 25% | Show it working |
|
|
28
|
+
| The Specs | 10% | Give the details |
|
|
29
|
+
| Social Proof | 10% | Show who's in |
|
|
30
|
+
| One More Thing | 5% | Surprise (optional) |
|
|
31
|
+
| Availability & CTA | 10% | Tell them how to get it |
|
|
32
|
+
| Close | 5% | Land the line |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Beat 1: The Setup
|
|
37
|
+
|
|
38
|
+
### Purpose
|
|
39
|
+
|
|
40
|
+
Why are we here today? What's the context? You're setting the stage for the world the product enters. You're orienting the audience before opening the curtain.
|
|
41
|
+
|
|
42
|
+
The audience should feel oriented. They should understand the landscape, the momentum, the stakes. By the end of this beat, they should be leaning forward, anticipating something.
|
|
43
|
+
|
|
44
|
+
### Pacing
|
|
45
|
+
|
|
46
|
+
Slow. Deliberate. You're building a room before you turn on the lights. Let the context breathe so it earns the reveal.
|
|
47
|
+
|
|
48
|
+
### Example headlines
|
|
49
|
+
|
|
50
|
+
> **The way we work** <span class="dim">changed forever.</span>
|
|
51
|
+
> **$4.2 trillion market.** <span class="dim">Still running on spreadsheets.</span>
|
|
52
|
+
> **Every team ships faster now.** <span class="dim">Except for one bottleneck.</span>
|
|
53
|
+
> **Three years ago** <span class="dim">we made a bet.</span>
|
|
54
|
+
|
|
55
|
+
### Best components
|
|
56
|
+
|
|
57
|
+
- **Quote slide:** A single provocative statement to open. No subtitle.
|
|
58
|
+
- **Eyebrow + headline + subtitle:** Context with a category tag ("THE MARKET", "THE SHIFT", "2024 → 2025").
|
|
59
|
+
- **Two-column:** Then vs now. Old paradigm vs new forces.
|
|
60
|
+
|
|
61
|
+
### Common mistakes
|
|
62
|
+
|
|
63
|
+
- Starting with your company history. Nobody cares yet.
|
|
64
|
+
- Showing the product logo on slide 2. You've killed the anticipation.
|
|
65
|
+
- Making the setup too long. Ten percent means 2–3 slides.
|
|
66
|
+
- Being vague. "The world is changing" says nothing. Be specific about *what* changed.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Beat 2: The Problem
|
|
71
|
+
|
|
72
|
+
### Purpose
|
|
73
|
+
|
|
74
|
+
What's broken, missing, or hard? The gap in the market. The friction everyone lives with. Make the audience *feel* the problem before you show the fix.
|
|
75
|
+
|
|
76
|
+
This is empathy work. If you skip it, the product reveal lands flat because the audience hasn't felt the pain you're solving.
|
|
77
|
+
|
|
78
|
+
### Pacing
|
|
79
|
+
|
|
80
|
+
Build tension. Each sub-point should make the problem feel worse. Stack frustrations. End with a line that closes the chapter, the "surely there's a better way" moment.
|
|
81
|
+
|
|
82
|
+
### Example headlines
|
|
83
|
+
|
|
84
|
+
> **The old workflow** <span class="dim">has 14 steps.</span>
|
|
85
|
+
> **Teams wait 3 days** <span class="dim">for what should take 3 minutes.</span>
|
|
86
|
+
> **Everyone hates it.** <span class="dim">Nobody fixes it.</span>
|
|
87
|
+
> **Good enough** <span class="dim">stopped being good enough.</span>
|
|
88
|
+
|
|
89
|
+
### Best components
|
|
90
|
+
|
|
91
|
+
- **Step stack** (in two-column): Show the painful old workflow with its blockers and friction points.
|
|
92
|
+
- **Capability list:** Rows of problems. Left: the task. Right: what's wrong with the current state.
|
|
93
|
+
- **Dark slide:** One gut-punch line that captures the whole problem. "Your team spends 40% of their time on work about work."
|
|
94
|
+
|
|
95
|
+
### Common mistakes
|
|
96
|
+
|
|
97
|
+
- Describing problems the audience doesn't recognize. If they don't feel it, they won't care about the fix.
|
|
98
|
+
- Straw-manning competitors. Describe the *category* problem, the systemic friction.
|
|
99
|
+
- Making it too abstract. Use numbers, timelines, real scenarios.
|
|
100
|
+
- Spending too long here. You need enough pain to motivate the reveal, and enough restraint that the mood stays productive.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Beat 3: The Reveal
|
|
105
|
+
|
|
106
|
+
### Purpose
|
|
107
|
+
|
|
108
|
+
The product. Name, positioning, one headline. This is the "one more thing" moment, the *main* thing. Let it land. Pause.
|
|
109
|
+
|
|
110
|
+
The reveal is a name and a promise. One sentence that captures what this thing *is*. The details come later. Right now, the audience just needs to understand the shape of what you've built.
|
|
111
|
+
|
|
112
|
+
### Pacing
|
|
113
|
+
|
|
114
|
+
**Slow down.** This is the most important transition in the deck. The slide before should end on a question or a tension. Then: click. The product appears. Give it a full beat of silence. Let the name sit on screen for two seconds before you say anything else.
|
|
115
|
+
|
|
116
|
+
### Example headlines
|
|
117
|
+
|
|
118
|
+
> **Introducing Arc.** <span class="dim">Design at the speed of thought.</span>
|
|
119
|
+
> **Meet Relay.** <span class="dim">One inbox for every team.</span>
|
|
120
|
+
> **This is Prism.** <span class="dim">Your entire pipeline, one command.</span>
|
|
121
|
+
> **We call it Drift.** <span class="dim">And it changes everything.</span>
|
|
122
|
+
|
|
123
|
+
### Best components
|
|
124
|
+
|
|
125
|
+
- **Product slide** (showcase style): Big product name on the right. Tagline and one-line description on the left.
|
|
126
|
+
- **Dark slide:** Product name, large type, nothing else. Maximum dramatic weight.
|
|
127
|
+
- **Collage slide:** Full-bleed product image or hero screenshot immediately after the name slide. The one-two punch: name then visual.
|
|
128
|
+
- **Art overlay:** The product rendered against a beautiful full-bleed background. Creates an aspirational, premium feeling that pure screenshots lack.
|
|
129
|
+
|
|
130
|
+
### Common mistakes
|
|
131
|
+
|
|
132
|
+
- Burying the reveal in a list of features. The reveal is *one* slide. One name. One line.
|
|
133
|
+
- Clicking past the reveal without letting it breathe. Give it a full pause.
|
|
134
|
+
- Weak naming. "Introducing our new analytics dashboard" is forgettable. Give it a proper name.
|
|
135
|
+
- Showing the reveal too early. If you haven't earned the tension, the drop doesn't hit.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Beat 4: The Demo / Walkthrough
|
|
140
|
+
|
|
141
|
+
### Purpose
|
|
142
|
+
|
|
143
|
+
Show it working. This is the longest section, and the most important. The reveal promised something. The demo proves it. Feature by feature, each with its own mini-narrative.
|
|
144
|
+
|
|
145
|
+
### Pacing
|
|
146
|
+
|
|
147
|
+
Each feature follows the **setup-show-impact** pattern:
|
|
148
|
+
|
|
149
|
+
1. **Setup** (text slide): What was hard before. One sentence of context.
|
|
150
|
+
2. **Show** (collage slide): Screenshot, video, live demo. The product doing the thing.
|
|
151
|
+
3. **Impact** (text slide or stat): What this means. The result. The number.
|
|
152
|
+
|
|
153
|
+
Alternate between text slides and full-bleed visuals. This creates rhythm: read, see, feel, read, see, feel. Three to five features is the sweet spot. More than that and you lose momentum.
|
|
154
|
+
|
|
155
|
+
### Example headlines
|
|
156
|
+
|
|
157
|
+
> **Search that actually works.** <span class="dim">Across every source, in milliseconds.</span>
|
|
158
|
+
> **One click to deploy.** <span class="dim">No config. No waiting.</span>
|
|
159
|
+
> **Real-time collaboration.** <span class="dim">See changes as they happen.</span>
|
|
160
|
+
> **From 14 steps** <span class="dim">to one.</span>
|
|
161
|
+
|
|
162
|
+
### Best components
|
|
163
|
+
|
|
164
|
+
- **Eyebrow + headline + subtitle:** Setup slide for each feature. Eyebrow tags the category ("SEARCH", "DEPLOY", "COLLABORATION").
|
|
165
|
+
- **Collage slide:** Full-bleed screenshot or video after each setup. This is the "show" beat.
|
|
166
|
+
- **Two-column:** Old way vs new way, side by side.
|
|
167
|
+
- **Product slide:** For hero features that deserve the showcase treatment.
|
|
168
|
+
- **Dark slide:** One mid-demo moment where you step back and say something big. "This is what three years of R&D looks like."
|
|
169
|
+
- **Feature card row:** Break down a complex capability into three or four cards, each with an icon, title, and one-line benefit. Ideal for showing feature breadth at a glance.
|
|
170
|
+
- **Code slide:** For developer-facing products, show a real snippet of the API or CLI in action. Nothing builds trust faster than seeing the actual interface.
|
|
171
|
+
- **Spec block:** Input/process/output layout. Show what goes in, what the product does, and what comes out. Effective for AI, data, or automation features.
|
|
172
|
+
|
|
173
|
+
### The setup-show-impact pattern
|
|
174
|
+
|
|
175
|
+
For each feature:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
Slide A: "Teams used to wait 3 days for deploy previews." [text: setup]
|
|
179
|
+
Slide B: [full-bleed screenshot of instant preview] [collage: show]
|
|
180
|
+
Slide C: "Deploy time: 3 days → 12 seconds." [stat: impact]
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Vary the pattern across features:
|
|
184
|
+
- Feature 1: setup → collage → stat
|
|
185
|
+
- Feature 2: dark slide (big claim) → collage → two-column comparison
|
|
186
|
+
- Feature 3: eyebrow setup → video → quote from a beta user
|
|
187
|
+
|
|
188
|
+
Variation keeps the audience alert.
|
|
189
|
+
|
|
190
|
+
### Common mistakes
|
|
191
|
+
|
|
192
|
+
- Too many features. Pick three to five. The rest go in a blog post.
|
|
193
|
+
- Describing features in text without showing the product. Use screenshots, videos, anything visual.
|
|
194
|
+
- Showing features without context. "Here's feature X" means nothing. "You used to do Y, now you do X" means everything.
|
|
195
|
+
- Same layout for every feature. Monotony kills attention. Vary your components.
|
|
196
|
+
- Rushing. Give each feature its own breathing room. The demo section should feel generous.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Beat 5: The Specs
|
|
201
|
+
|
|
202
|
+
### Purpose
|
|
203
|
+
|
|
204
|
+
The details. Performance benchmarks, pricing, availability dates, compatibility, technical requirements. The audience has seen what it does. Now they need to know the specifics.
|
|
205
|
+
|
|
206
|
+
This beat serves the analytical buyers. The people who were nodding during the demo but need numbers before they commit.
|
|
207
|
+
|
|
208
|
+
### Pacing
|
|
209
|
+
|
|
210
|
+
Faster. This is information delivery. Be crisp. Use grids and lists. Get in, give the facts, get out.
|
|
211
|
+
|
|
212
|
+
### Example headlines
|
|
213
|
+
|
|
214
|
+
> **The numbers.** <span class="dim">Under the hood.</span>
|
|
215
|
+
> **Built for scale.** <span class="dim">Here's the proof.</span>
|
|
216
|
+
> **Pricing that makes sense.** <span class="dim">No surprises.</span>
|
|
217
|
+
> **What's included.** <span class="dim">Everything you need.</span>
|
|
218
|
+
|
|
219
|
+
### Best components
|
|
220
|
+
|
|
221
|
+
- **Capability list:** Rows of specs. Left: the metric. Right: the value. Clean, scannable.
|
|
222
|
+
- **Three-column:** Pricing tiers or plan comparison.
|
|
223
|
+
- **Stack grid:** Categories of capabilities with checkmarks or feature lists. Also works well for grouping features into thematic columns.
|
|
224
|
+
- **Two-column:** Technical details on one side, what it means for the user on the other.
|
|
225
|
+
- **Update row:** Release timeline showing what shipped, what's in beta, and what's next. Gives analytical buyers a sense of velocity and roadmap confidence.
|
|
226
|
+
|
|
227
|
+
### Common mistakes
|
|
228
|
+
|
|
229
|
+
- Burying the price. If there's a price, say it clearly.
|
|
230
|
+
- Too many specs. Pick the 5–8 that matter. The spec sheet lives on your website.
|
|
231
|
+
- No context for numbers. "99.99% uptime" means more when you say "That's 52 seconds of downtime per year."
|
|
232
|
+
- Making this section too long. It's 10% of the deck. Two to three slides.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Beat 6: Social Proof
|
|
237
|
+
|
|
238
|
+
### Purpose
|
|
239
|
+
|
|
240
|
+
Who's already using it? Who believes in it? Testimonials, logos, case studies, beta results. This answers the unspoken question: "Am I the first idiot to try this, or is it safe?"
|
|
241
|
+
|
|
242
|
+
### Pacing
|
|
243
|
+
|
|
244
|
+
Confident but measured. Let the names do the talking. A wall of logos says more than a paragraph of self-congratulation.
|
|
245
|
+
|
|
246
|
+
### Example headlines
|
|
247
|
+
|
|
248
|
+
> **Teams already shipping with it.** <span class="dim">Thousands of them.</span>
|
|
249
|
+
> **Hear it from them.** <span class="dim">Real teams, real results.</span>
|
|
250
|
+
> **In production** <span class="dim">since day one.</span>
|
|
251
|
+
> **Trusted by the teams** <span class="dim">that move fastest.</span>
|
|
252
|
+
|
|
253
|
+
### Best components
|
|
254
|
+
|
|
255
|
+
- **Logo bar:** A clean horizontal row of recognizable customer logos. High density, zero friction. The fastest way to establish credibility.
|
|
256
|
+
- **Testimonial grid:** Multiple quotes arranged in a grid layout. Each cell: photo, name, role, and a one-line quote. Conveys breadth of adoption at a glance.
|
|
257
|
+
- **Stack grid:** Logo grid. Four columns of customer logos. No captions needed.
|
|
258
|
+
- **Capability list:** Testimonial rows. Left: company name. Right: quote.
|
|
259
|
+
- **Quote slide:** One powerful testimonial, large type. Attribution below.
|
|
260
|
+
- **Two-column:** Case study format. Left: the challenge. Right: the result with the product.
|
|
261
|
+
|
|
262
|
+
### Common mistakes
|
|
263
|
+
|
|
264
|
+
- Fake-sounding testimonials. "This product is amazing!" means nothing. Specific results beat generic praise.
|
|
265
|
+
- Too many logos with no context. One case study beats twenty anonymous logos.
|
|
266
|
+
- Putting social proof before the demo. The audience needs to understand the product before they care who else uses it.
|
|
267
|
+
- Skipping this entirely. Even in an internal launch, showing who's been piloting it builds credibility.
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Beat 7: One More Thing
|
|
272
|
+
|
|
273
|
+
### Purpose
|
|
274
|
+
|
|
275
|
+
A surprise. An unexpected feature, an unlikely partnership, an aggressive price point, an early-access announcement. The thing that elevates the launch from "solid" to "memorable."
|
|
276
|
+
|
|
277
|
+
This beat is **optional.** Only use it if you genuinely have something surprising. A forced "one more thing" is worse than no surprise at all.
|
|
278
|
+
|
|
279
|
+
### The "one more thing" test
|
|
280
|
+
|
|
281
|
+
Ask yourself:
|
|
282
|
+
1. Would this get a genuine reaction if the audience didn't know it was coming?
|
|
283
|
+
2. Is it actually separate from the main product, a true addition rather than feature #6?
|
|
284
|
+
3. Does it change the audience's mental model of what you're offering?
|
|
285
|
+
|
|
286
|
+
If you can't answer yes to at least two of these, fold it into the demo or cut it.
|
|
287
|
+
|
|
288
|
+
### Pacing
|
|
289
|
+
|
|
290
|
+
Slow. Dramatic pause before. The preceding slide should feel like a natural ending. The audience should think you're wrapping up. Then: "One more thing." Beat. Click.
|
|
291
|
+
|
|
292
|
+
### Example headlines
|
|
293
|
+
|
|
294
|
+
> **Oh, and one more thing.** <span class="dim"></span>
|
|
295
|
+
> **We weren't going to show this yet.** <span class="dim">But here we are.</span>
|
|
296
|
+
> **Free.** <span class="dim">For everyone. Starting today.</span>
|
|
297
|
+
> **And it works with** <span class="dim">everything you already use.</span>
|
|
298
|
+
|
|
299
|
+
### Best components
|
|
300
|
+
|
|
301
|
+
- **Dark slide:** "One more thing." Nothing else. Then the next slide reveals it.
|
|
302
|
+
- **Product slide:** If the surprise is a second product or major feature.
|
|
303
|
+
- **Collage slide:** Full-bleed visual of the surprise in action.
|
|
304
|
+
- **Quote slide:** If the surprise is a partnership, let the partner's words carry it.
|
|
305
|
+
|
|
306
|
+
### Common mistakes
|
|
307
|
+
|
|
308
|
+
- Using this for something that isn't surprising. "And one more thing: we also have an API" is a feature, and belongs in the demo.
|
|
309
|
+
- Multiple "one more things." You get one. That's why it works.
|
|
310
|
+
- Telegraphing the surprise. Keep it out of earlier slides. The whole point is that it's unexpected.
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## Beat 8: Availability & CTA
|
|
315
|
+
|
|
316
|
+
### Purpose
|
|
317
|
+
|
|
318
|
+
When can they get it? How? What do they do right now? This is the operational close. Clear, specific, actionable.
|
|
319
|
+
|
|
320
|
+
The audience is excited. Tell them exactly what happens next.
|
|
321
|
+
|
|
322
|
+
### Pacing
|
|
323
|
+
|
|
324
|
+
Direct. No buildup needed. You've earned the ask. State the facts: date, URL, pricing, next step. Then move to the close.
|
|
325
|
+
|
|
326
|
+
### Example headlines
|
|
327
|
+
|
|
328
|
+
> **Available today.** <span class="dim">Start free at arc.dev.</span>
|
|
329
|
+
> **Open beta** <span class="dim">starts next Tuesday.</span>
|
|
330
|
+
> **Sign up now.** <span class="dim">First 1,000 teams get early access.</span>
|
|
331
|
+
> **Ship it this week.** <span class="dim">No credit card. No setup call.</span>
|
|
332
|
+
|
|
333
|
+
### Best components
|
|
334
|
+
|
|
335
|
+
- **Eyebrow + headline + subtitle:** The primary CTA. Eyebrow: "AVAILABILITY". Headline: the date or action. Subtitle: the URL or next step.
|
|
336
|
+
- **Three-column:** If there are multiple paths (try free / talk to sales / join waitlist).
|
|
337
|
+
- **Capability list:** What's available now, what's coming in Q2, what's on the roadmap.
|
|
338
|
+
- **Timeline:** A visual rollout schedule showing launch phases. Use for staged rollouts: "Today: early access. July: public beta. September: GA." Gives urgency and clarity in one slide.
|
|
339
|
+
- **Dark slide:** For maximum urgency. White text, single CTA.
|
|
340
|
+
|
|
341
|
+
### Common mistakes
|
|
342
|
+
|
|
343
|
+
- No clear CTA. "Learn more at our website" is vague. "Start your free trial at relay.app" is actionable.
|
|
344
|
+
- Burying availability in a paragraph. It should be the headline.
|
|
345
|
+
- Too many options. One primary CTA. Maybe one secondary.
|
|
346
|
+
- Forgetting the URL. They need to know where to go. Put it on screen.
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Beat 9: Close
|
|
351
|
+
|
|
352
|
+
### Purpose
|
|
353
|
+
|
|
354
|
+
One memorable line. The tagline. The thing they'll repeat to a colleague. The thing they'll tweet.
|
|
355
|
+
|
|
356
|
+
This is a punctuation mark, a final beat of energy.
|
|
357
|
+
|
|
358
|
+
### Pacing
|
|
359
|
+
|
|
360
|
+
Slow down. Say it once. Stop. Let the line do its work.
|
|
361
|
+
|
|
362
|
+
### Example headlines
|
|
363
|
+
|
|
364
|
+
> **The future of work** <span class="dim">ships today.</span>
|
|
365
|
+
> **Build faster.** <span class="dim">Ship with confidence.</span>
|
|
366
|
+
> **One tool.** <span class="dim">Every team. No compromises.</span>
|
|
367
|
+
> **This is day one.** <span class="dim">Imagine day 1,000.</span>
|
|
368
|
+
|
|
369
|
+
### Best components
|
|
370
|
+
|
|
371
|
+
- **Dark slide:** The closing line, nothing else. Maximum weight.
|
|
372
|
+
- **Quote slide:** Large type, centered. The final word.
|
|
373
|
+
|
|
374
|
+
### Common mistakes
|
|
375
|
+
|
|
376
|
+
- A summary slide. "In conclusion, we showed you…" kills the energy. End on a high.
|
|
377
|
+
- Thanking the audience before the line lands. Say the line first. Then thank them if you must.
|
|
378
|
+
- A weak tagline. Spend more time on this line than any other in the deck. Test it out loud.
|
|
379
|
+
- Adding slides after the close. The close is the last slide. Nothing follows it except applause or a Q&A card.
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## Demo pacing: the setup-show-impact pattern
|
|
384
|
+
|
|
385
|
+
The demo section is where most product launches fail. They either show too much (death by feature tour) or too little (all talk, no proof). The fix is the **setup-show-impact** loop.
|
|
386
|
+
|
|
387
|
+
For every feature you show:
|
|
388
|
+
|
|
389
|
+
### Setup (10 seconds)
|
|
390
|
+
|
|
391
|
+
One sentence. What was the old way? What was frustrating? This primes the audience to appreciate what they're about to see.
|
|
392
|
+
|
|
393
|
+
> "Right now, deploying a change means opening a ticket, waiting for DevOps, and hoping nothing breaks."
|
|
394
|
+
|
|
395
|
+
### Show (20–30 seconds)
|
|
396
|
+
|
|
397
|
+
The product doing the thing. A screenshot, a video clip, a live demo. No narration during the visual. Let the audience absorb it. If it's a video, keep it under 15 seconds.
|
|
398
|
+
|
|
399
|
+
### Impact (5 seconds)
|
|
400
|
+
|
|
401
|
+
One line. The result. The number. The "so what."
|
|
402
|
+
|
|
403
|
+
> "Deploy time went from three days to twelve seconds."
|
|
404
|
+
|
|
405
|
+
Then move to the next feature. The rhythm is: tension → proof → relief → tension → proof → relief.
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
## Visual rhythm
|
|
410
|
+
|
|
411
|
+
A product launch deck should alternate between text and visuals like breathing in and out.
|
|
412
|
+
|
|
413
|
+
```
|
|
414
|
+
Text → Visual → Text → Visual → Text → Visual
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
Specifically:
|
|
418
|
+
- **Setup slides** (eyebrow + headline + subtitle) give context
|
|
419
|
+
- **Collage slides** (full-bleed images/video) give proof
|
|
420
|
+
- **Product slides** introduce features
|
|
421
|
+
- **Dark slides** mark transitions
|
|
422
|
+
- **Quote slides** provide breathing room
|
|
423
|
+
|
|
424
|
+
Never put three text slides in a row. Never put three visuals in a row. The alternation is what creates momentum.
|
|
425
|
+
|
|
426
|
+
If you don't have visuals, you don't have a product launch. Get screenshots. Record a screen capture. Render mockups. A launch without visuals is just a memo.
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Adapting for audience
|
|
431
|
+
|
|
432
|
+
### Press event / keynote
|
|
433
|
+
|
|
434
|
+
Full theatrical treatment. Long pauses. One more thing. Big collage slides. The audience is there to be impressed. Give them a show.
|
|
435
|
+
|
|
436
|
+
- Lean into dark slides for drama
|
|
437
|
+
- Use video over screenshots where possible
|
|
438
|
+
- Keep specs minimal. Journalists care about the story and the human impact.
|
|
439
|
+
- End with a quotable line they can use as a headline
|
|
440
|
+
|
|
441
|
+
### Internal launch (all-hands, team demo)
|
|
442
|
+
|
|
443
|
+
Drop the theater. Keep the structure. The audience already trusts you, so they want clarity and directness.
|
|
444
|
+
|
|
445
|
+
- Save the "one more thing" for external audiences
|
|
446
|
+
- Expand the specs section. Internal teams need detail.
|
|
447
|
+
- Add a "what this means for us" slide (staffing, timeline, dependencies)
|
|
448
|
+
- Be honest about what's ready and what's still in progress
|
|
449
|
+
|
|
450
|
+
### Customer webinar
|
|
451
|
+
|
|
452
|
+
The audience is evaluating. They need to see themselves in the product.
|
|
453
|
+
|
|
454
|
+
- Expand social proof. They want to know who else is using it.
|
|
455
|
+
- Tailor the problem section to *their* specific pain
|
|
456
|
+
- Demo the workflow they'd actually use, the one closest to their day-to-day
|
|
457
|
+
- CTA should be "talk to us" or "start a trial," a low-commitment next step
|
|
458
|
+
|
|
459
|
+
### Recorded / async (product video, launch page)
|
|
460
|
+
|
|
461
|
+
No live energy to lean on. The deck must carry itself.
|
|
462
|
+
|
|
463
|
+
- Tighter pacing, about 20% less time per beat than live
|
|
464
|
+
- More collage slides. Visuals hold attention without a speaker.
|
|
465
|
+
- Subtitles on every slide. The body copy does the speaker's job.
|
|
466
|
+
- Keep it under 5 minutes total if it's a video
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## Adapting for format
|
|
471
|
+
|
|
472
|
+
### Live keynote (you're presenting)
|
|
473
|
+
|
|
474
|
+
You are the setup. The slide is the punchline. Talk to the audience, then click to reveal. The audience can read faster than you can talk, so let the slides land visually while you provide the narrative frame.
|
|
475
|
+
|
|
476
|
+
### Pre-recorded video
|
|
477
|
+
|
|
478
|
+
Every second counts. Cut 30% of what you'd say live. Let visuals linger longer. Add music or ambient sound during collage slides.
|
|
479
|
+
|
|
480
|
+
### Read-only deck (shared via link, no presenter)
|
|
481
|
+
|
|
482
|
+
The headlines carry the narrative arc. The subtitles carry the detail. Every slide should make sense without hearing someone talk over it. Add more body copy. Use the capability list component for information density.
|
|
483
|
+
|
|
484
|
+
---
|
|
485
|
+
|
|
486
|
+
## Common mistakes
|
|
487
|
+
|
|
488
|
+
### 1. Too many features
|
|
489
|
+
|
|
490
|
+
You have twelve things to show. Pick five. The audience can absorb that many in one sitting. The rest go in a follow-up blog post, a documentation page, or version 2 of the launch.
|
|
491
|
+
|
|
492
|
+
### 2. No demo
|
|
493
|
+
|
|
494
|
+
If you announce a product without showing it working, the audience fills the gap with skepticism. Even a single screenshot is better than nothing. A 10-second video is better than a screenshot. A live demo is best of all.
|
|
495
|
+
|
|
496
|
+
### 3. Burying the price
|
|
497
|
+
|
|
498
|
+
If you have pricing, say it clearly and say it once. Give the audience the number directly. If the price is good, it's a feature: put it in a headline.
|
|
499
|
+
|
|
500
|
+
### 4. Anticlimactic reveals
|
|
501
|
+
|
|
502
|
+
The reveal should feel like a curtain drop. If it feels like "oh, here's another slide," you haven't earned it. The problem section must create enough tension that the reveal feels like relief.
|
|
503
|
+
|
|
504
|
+
### 5. Feature parity as a selling point
|
|
505
|
+
|
|
506
|
+
"We do everything they do, plus one more thing" is a comparison chart, and audiences don't rally behind comparison charts. Lead with what's *new* and uniquely yours.
|
|
507
|
+
|
|
508
|
+
### 6. No visual proof
|
|
509
|
+
|
|
510
|
+
Words describe. Images prove. If your demo section is all text slides, you're telling the audience to trust you. Show them instead.
|
|
511
|
+
|
|
512
|
+
### 7. The fake "one more thing"
|
|
513
|
+
|
|
514
|
+
If your surprise is just the last feature on your roadmap, it doesn't qualify. Skip the "one more thing" beat entirely. A clean CTA is more powerful than a forced reveal.
|
|
515
|
+
|
|
516
|
+
### 8. Ending with a whimper
|
|
517
|
+
|
|
518
|
+
"Thanks, that's all we have today" is a flat ending. Your last slide should be the most polished, most rehearsed, most memorable moment in the deck. Spend time on it.
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
## A formula that works
|
|
523
|
+
|
|
524
|
+
If you don't know where to start:
|
|
525
|
+
|
|
526
|
+
```
|
|
527
|
+
1. Set the scene. Why does this matter now?
|
|
528
|
+
2. Name the pain. What's broken?
|
|
529
|
+
3. Reveal the product. One name, one line.
|
|
530
|
+
4. Show it working. Three to five features, setup-show-impact for each.
|
|
531
|
+
5. Give the specs. Numbers, pricing, compatibility.
|
|
532
|
+
6. Show who's in. Logos, quotes, results.
|
|
533
|
+
7. Surprise them (only if you can).
|
|
534
|
+
8. Tell them how to get it.
|
|
535
|
+
9. Close with one line you've rehearsed.
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
Nine beats. Use them. Skip the optional one. Reorder if your product demands it. They're a scaffold, a flexible framework you adapt to the story.
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
542
|
+
## On the reveal line
|
|
543
|
+
|
|
544
|
+
Spend more time on your reveal line than any other line in the deck except the close.
|
|
545
|
+
|
|
546
|
+
It should be:
|
|
547
|
+
- **Named.** Give the product a proper name. A real, memorable name.
|
|
548
|
+
- **Positioned.** One line that says what it is and who it's for.
|
|
549
|
+
- **Clean.** Zero jargon, zero feature lists, zero qualifiers. Just the essence.
|
|
550
|
+
|
|
551
|
+
Test it by imagining someone texting it to a friend: "They just announced [X]. It's [one-line description]." If that text doesn't make sense or doesn't sound exciting, rewrite the line.
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
555
|
+
## The visual hierarchy of a launch
|
|
556
|
+
|
|
557
|
+
Each slide carries different weight. Here's the energy curve:
|
|
558
|
+
|
|
559
|
+
```
|
|
560
|
+
Energy
|
|
561
|
+
▲
|
|
562
|
+
│ ★ Reveal
|
|
563
|
+
│ / \ ★ One More Thing
|
|
564
|
+
│ / \ / \
|
|
565
|
+
│ / Demo\ / \
|
|
566
|
+
│ / section \ / \
|
|
567
|
+
│ / \/ \ ★ Close
|
|
568
|
+
│ / Problem Specs/ \
|
|
569
|
+
│ / section Proof \
|
|
570
|
+
│ / \
|
|
571
|
+
│/ Setup \
|
|
572
|
+
└──────────────────────────────→ Time
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
Design your slides to match this curve:
|
|
576
|
+
- **Low energy** = text-heavy slides, subtle backgrounds, smaller type
|
|
577
|
+
- **High energy** = dark slides, full-bleed collages, large type, product showcases
|
|
578
|
+
|
|
579
|
+
The reveal and the close should be the loudest slides in the deck. If your spec section is louder than your reveal, something's wrong.
|