← All blocks
Feature bento with live visuals
feature-bento · live-visual-cells · feature-bento-live
npx shadcn@latest add @plus-ui/feature-bento-liveDefault content
{
"eyebrow": "Why teams switch to Tessaly",
"title": "Everything you need to know why customers stay",
"description": "Retention, funnels and revenue in one place — wired to the tools your team already lives in.",
"cells": [
{
"kind": "cohort",
"title": "Cohorts that update while you watch",
"text": "Every signup week, every plan, every segment — recomputed as events arrive, not overnight.",
"cohort": {
"columns": [
"W0",
"W1",
"W2",
"W3",
"W4",
"W5"
],
"rows": [
{
"label": "Aug 4",
"values": [
100,
68,
57,
51,
47,
45
]
},
{
"label": "Aug 11",
"values": [
100,
71,
60,
54,
50
]
},
{
"label": "Aug 18",
"values": [
100,
74,
63,
58
]
},
{
"label": "Aug 25",
"values": [
100,
76,
66
]
},
{
"label": "Sep 1",
"values": [
100,
79
]
}
]
}
},
{
"kind": "metric",
"title": "Answers in seconds",
"text": "Queries over a billion events return before you finish your coffee.",
"value": "1.8s",
"caption": "median query time, 30-day window"
},
{
"kind": "funnel",
"title": "See where trials stall",
"text": "Tessaly flags the step with the biggest drop automatically.",
"funnel": {
"steps": [
{
"label": "Signed up",
"value": 100
},
{
"label": "Invited team",
"value": 82
},
{
"label": "Connected data",
"value": 48
},
{
"label": "First report",
"value": 40
},
{
"label": "Upgraded",
"value": 21
}
]
}
},
{
"kind": "message",
"title": "Digests where you work",
"text": "A Monday summary in Slack, with the one number that moved.",
"message": {
"channel": "#growth",
"author": "Tessaly",
"time": "Mon 9:00",
"body": "Week-4 retention for the Aug 25 cohort is tracking above every cohort this quarter.",
"highlight": "+4.2 pts vs. Q2 average"
}
},
{
"kind": "logos",
"title": "Connects to your stack",
"text": "Warehouses, CRMs and product tools sync both ways.",
"brands": [
"ostrelo",
"pellora",
"brindlebay",
"mosswell",
"zephlo",
"umberly"
]
}
]
}