Measure Web App Performance

Polaris is a light-weight SDK to collect real-user measurements, derive real-time signals of performance, and set goal-based objectives.

Sign up and get $25 in credits

Leave the bloated tools behind.

You need a faster and more reliable web app.

Your web application is slow and unreliable. We get it. That's why we built Polaris.

In Polaris, your indicators of performance live on a single page. With everything in one place, you can quickly review and monitor the speed and reliability of your web application.

Here's what performance indicators look like in Polaris:

Indicators show you how your app is performing. You can create indicators based on any measurement you collect, geographical location, or user device.

Other tools collect the world of data.

Measure and monitor only what matters.

The other tools just suck. You have to add a monster script to your bundle, they collect loads of data, and spy on your users. Yuck!

Our 7KB SDK collects real user measurements of performance and reliability in your web application in real-time. Less isn't more - it's just better.

Install with NPM

npm i -S

Configure the SDK.

<PolarisProvider apiKey={import.meta.env.VITE_POLARIS_API_KEY}>
  <Outlet />

Measure the render performance of your React application.

Use the PolarisProfiler component to measure the mount and update phases of your components.

import { PolarisProfiler } from '';

export function App() {
  return (
      <PolarisProfiler id="nav">
        <Navigation />
      <PolarisProfiler id="table">
        <DataTable />

Measure critical workflows in your React app.

First, use the useInstrument hook to create an instrument. Invoke the start() method to start the measurement timer.

In the event of an exception, invoke the fail() method.

import { useInstrument } from '';

export function Authenticate() {
  const instrument = useInstrument('auth-flow');

  const handleSubmit = useCallback((email, password) => {
    try {
    } catch (error) {{ error });
  }, []);

  return (

Then, get a reference to the instrument using the useInstrument hook. Invoke the done() method to stop the measurement timer.

import { useInstrument } from '';

export function Reviews() {
  const instrument = useInstrument('auth-flow');

  useEffect(() => {
      .then((reviews) => {
      .catch((error) => {;
  }, []);

  return (

No plans. No subscriptions.

Unlimited users, applications, and indicators.

  • Free $25 in credits when you sign up
  • Unlimited users, applications, and indicators.
  • No upsells and no hidden costs
  • We monitor the performance and reliability of Polaris using Polaris
  • Email Brian (co-founder). He wants to hear from you.

Integrates with existing tools

Polaris connects to your existing project management, incident response, and reliability services. When an objective threshold is breached you can create a Jira ticket, send a Slack message, or trigger a PagerDuty incident.

Measure Web App Performance

Sign up and get $25 in credits