Skip to main content
Back to Blog

Introducing Palette - Next Generation Web Performance Monitoring

TL;DR: I have founded Palette, where we’re building best-in-class performance monitoring for web apps. We raised a pre-seed from Afore Capital, hired a small team, and announced our case study with Notion. We’re now growing our team and expanding beyond the web.

When Brendan Eich wrote the first JavaScript engine back in 1995, he didn’t anticipate the language becoming what it is today. Although JavaScript was intended for adding basic interactivity to static webpages, it started being used to build fully interactive web apps. Today, developers are pushing the envelope of JavaScript by writing entire apps with it.

Many of the apps we use everyday heavily depend on JavaScript — from VSCode to Figma to Discord to Spotify. But because they’re driven by JavaScript, they’re often bottlenecked by it and performance suffers as a result. At Palette, we’re building next generation performance monitoring tools that enable developers to build delightfully responsive web apps.

Web apps are slow

At Palette, we believe web performance is a problem with tooling and not a inherent limitation of browsers. Scaling web apps is challenging because of limited visibility into what is slow for end users. This limited visibility arises from shortcomings in performance monitoring and existing tooling:

  1. Performance metrics are broken for web apps. Interaction performance is critical for web apps, but it’s a second class citizen of the standard performance metrics (web core vitals) which predominantly focus on load time. Web core vitals are optimized for scoring web performance, not diagnosing it.
  2. Web apps get slower by default. New features add page weight and often regress performance. For most teams, performance issues are only learned from user feedback, which takes time to iterate on. Engaging with the feedback takes time and doesn’t scale.
  3. Web performance is a black box. Fixing end user performance issues is often guesswork because it’s unclear what is slow for users and why. At Palette, we think performance tooling in production should be as actionable as local tools. Traditional observability tools surface only a fraction of the performance data available locally, making production tools unactionable and unreliable to lean on for debugging performance issues.

Introducing Palette

  1. Production JavaScript Profiling - Palette's Profile Aggregates collect latency from user interactions and attributes them to lines of code, providing unprecedented visibility into slow user experiences. Profiles can be aggregate to summarize function execution in production during key events such as clicks, keypress, and custom events. Developers can identify regressions by comparing aggregated profiles.
  2. Interaction Performance Metrics - Palette’s Interaction Metrics measure the responsiveness of scroll, click, keypress, and mousemove interactions. Palette monitors regressions to metrics and compares function execution before and after a regression to a metric.
  3. Devtools, not Dashboards - With Palette's User Sessions feature, we’ve taken production profiling and tracing data and used it to power a local devtools experience. Imagine Chrome devtools, powered by an end user’s performance data.

The progress so far

Since Palette was founded in 2022, we’ve been iterating on the product with a small set of early customers. Since onboarding, Notion, one of our early customers, has since used Palette to help improve typing and load performance by 15% and 20% respectively (see the case study). With Palette having driven real value for our customers, we’re coming out of stealth and starting to onboard more customers off our waitlist.

What’s next

With stable support for the web, we’re now expanding Palette’s capabilities to other platforms. We’re stabilizing our experimental support for Node and React Native (try them by joining our waitlist). With our eyes on sight of the next 1,000 customers, we’re actively hiring engineers to grow our team and support new and existing customers.

Get in touch!

If you're interested in trying out at Palette, join our waitlist. To stay up to date, follow us on twitter at @palette_dev. If you’re interested in what we’re building, we’re hiring!



Build Delightfully Responsive Apps

Try Palette to start building better apps.

Join the Waitlist