We stopped waking up the whole team.
Before Relay every alert went to a channel and whoever was awake took it. Now one person is paged, with the runbook. Our on-call survey went from dread to fine.
One system, every page.
Every colour, size and component on this page comes from Automatic.css settings and the kit's component classes. Change a setting and the whole kit follows. This page ships with the kit so your client can see the system too.
Primary is the violet and it sits on the one ask: buttons, links, the current thing. The mint is for what shipped and what succeeded, never a button. Everything else is ink, in two steps, and the rare light band.
Body text and a button take their colours from the band, not from the component.
Start a projectBody text and a button take their colours from the band, not from the component.
Start a projectBody text and a button take their colours from the band, not from the component.
Start a projectBody text and a button take their colours from the band, not from the component.
Start a projectFix incidents before customers notice.
Everything the 3am screen needs.
Alerts that find a person
Card title and small headings
Lead text sits under a headline and says the one thing the section is about, in a sentence or two.
Body text is Space Grotesk at 17px on desktop and 16px on phones, line height 1.55. Headings are Space Grotesk at weight 500 with tight tracking. Figures, versions and labels are Geist Mono, like 0.9.0, lined up. Inline links look like this link to pricing, underlined so nobody has to guess.
Small text for captions, notes under buttons and legal lines. Never lighter than this.
Eyebrow label, the literal section headingThree weights: primary for the one ask on a page, outline for the alternative, text link for everything else. Verb plus noun labels. At least 48px tall. The primary carries ink text on the violet.
Every section starts with this component: the literal heading as an eyebrow, the headline as a paragraph, an optional lead and buttons. Alignment and the band colour are props.
We stopped waking up the whole team.
Before Relay every alert went to a channel and whoever was awake took it. Now one person is paged, with the runbook. Our on-call survey went from dread to fine.
The status page is finally honest.
We used to update it after the fact. Now it is written from inside the incident and customers see it before they notice anything. Support tickets during incidents fell by half.
Datadog, Grafana, Sentry, CloudWatch or a webhook. Ten minutes, no agent.
Who owns what, in a file in your repo. Relay reads it and keeps it current.
Start from ours. Relay opens it the next time the alert fires.
The right person is paged, the status page speaks, and the timeline is kept. You read it in the morning.
Customers can subscribe to a status page and get the first update within ninety seconds of an incident opening. RSS for the people who prefer it.
We invite teams from the waitlist every two weeks, smallest first. Most wait under a month. Beta teams pay nothing until general availability.
No. Keep Datadog, Grafana, Sentry or whatever you have. Relay takes the alerts they raise and makes sure a person, a runbook and a status page meet them.
Nothing. They are Markdown files in your repository. Relay reads them; it never owns them.
Images are always in a figure. Product shots are 16:9 and 16:10 with a hairline outline, cards fix 4:3, team photos are square. Corners come from the ACSS auto radius, so the client cannot upload a square-cornered photo by mistake.
Be on call less.
Teams are invited every two weeks, smallest first. Beta teams pay nothing until general availability.