Performance is design.

Palette is the tool for building delightfully responsive web apps.

Profile end user sessions. Imagine the Chrome Devtools profiler, powered by end user sessions.

Mock of an end user profile

Learn More

Palette helps us identify and validate our approaches for fixing performance issues. Most recently, we used Palette to identify the cause of a 10% latency increase for initial page render.

With Palette now, we have more certainty as to what the issue is, and we know that when we fix it it'll actually fix it the next day.

Carlo Francisco
Carlo FranciscoEngineering at Notion

Palette helps us identify and validate our approaches for fixing performance issues. Most recently, we used Palette to identify the cause of a 10% latency increase for initial page render.

With Palette now, we have more certainty as to what the issue is, and we know that when we fix it it'll actually fix it the next day.

Carlo Francisco
Carlo FranciscoEngineering at Notion

I think Palette delivers a lot of value, not just to engineers, but also to engineering managers or the teams responsible for trying to figure out performance regressions. And the problem we often have is the one of attribution. The approach we took before was look at all the PRs in the release, guess which ones could have it could have been, and then essentially ask teams to prove to us that they didn't do it, which only works. What Palette is really enabling here is to go much quicker from what happened to who done it.

Felix Rieseberg
Felix RiesebergEngineering Manager at Notion

I think Palette delivers a lot of value, not just to engineers, but also to engineering managers or the teams responsible for trying to figure out performance regressions. And the problem we often have is the one of attribution. The approach we took before was look at all the PRs in the release, guess which ones could have it could have been, and then essentially ask teams to prove to us that they didn't do it, which only works. What Palette is really enabling here is to go much quicker from what happened to who done it.

Felix Rieseberg
Felix RiesebergEngineering Manager at Notion

Palette is the most helpful tool we have for identifying the root cause of performance issues.

John Ryan
John RyanEngineering at Notion

Palette is the most helpful tool we have for identifying the root cause of performance issues.

John Ryan
John RyanEngineering at Notion

Light as a feather

Network payloads are compressed asynchronously off the main thread and are only sent during idle periods.

Palette's overhead across all end user sessions is equal to the profiler overhead (10%) multiplied by the percentage of users profiled.

As an example, your p95 typing latency might be 100ms. When enabling profiling on 3% of sessions, the latency will increase by 10% for 3% of users, resulting in a p95 of 100.3ms.

Base Latency

100ms

Sessions

3%

Latency with Profiling

100.3ms

Ahead of the curve

Network payloads are compressed asynchronously off the main thread and are only sent during idle periods.

Build Delightfully Responsive Apps

Try Palette to start building better apps.

Join the Waitlist
1import { init, profiler, paint } from "@palette.dev/browser";
2
3init({ key: "YOUR_CLIENT_KEY", plugins: [profiler(), paint()] });
4
5profiler.on(
6 ["paint.click", "paint.keydown", "paint.scroll", "paint.mousemove"],
7 { sampleInterval: 1, maxBufferSize: 100_000 }
8);