Install.

Execute.

Review.

Meticulous monitors your daily interactions with your application as you develop it. By tracking the code branches executed by each interaction Meticulous generates a suite of visual end-to-end tests that cover every line of your codebase. Every user flow, every edge-case.

Install
01.
Snippet
Add to your _document.js <Head> or /app/layout.tsx <head>:

{.env. === "" && (
  <script 
    =""
    =""
  ></script>
)}
Copy
 { tryLoadAndStartRecorder }  

 () {
  // Record all sessions on localhost, staging stacks and preview URLs
   if (!isProduction()) {
     ({    
     '',
    : false,
   });
 }
 
 .(, document.(''));
}

 () {
   window.location.hostname.("your-production-site.com") > -1;
}

();Copy
 Vue  ;
 App  ;
 router  ;
 store  ;
 {tryLoadAndStartRecorder}  ;

 () {
   if (!isProduction()) {
     ({    
     ''
    : false,
   });
 }
 
 new Vue({
   ,
   ,
   : h => (App)
   }).(");
}

 () {
  window.location.hostname.("your-production-site.com") > -1;
}

();Copy
 { platformBrowserDynamic }  ;
     { AppModule }  ;
     { tryLoadAndStartRecorder }  
     () {
        if (!isProduction()) {
           ({    
             '',
            : false,
          });
        } 
        
        
        ().(AppModule)
         .(err => console.(err));
    }
    
     () {
         window.location.hostname.("your-production-site.com") > -1;
    }
    
    ();
{
 : {
  :  ===  ? [] : [
   {
    : ,
     : '',
      false,
    }
   ],
  }
}Copy
<svelte>
{!import.meta.env.PROD}
  <
   =""
   =
   =
  ></> 
 {}
<svelte>Copy

Install snippet

Install our JS snippet onto an environment of your choice. We normally recommend only installing this on internal environments, like localhost, dev, qa, staging and preview URLs. Many customers deploy this on production to get wider test coverage, but we recommend starting off with an internal deployment and find this is often sufficient.

This snippet instruments the web browser and captures all the user interactions, like click events, scroll events.
For more information on redaction, please see ‘How does redaction work?’.
For more information on security, please see our security portal.
See All Snippets
Arrow OrangeArrow Lite
CI

Install our CI integration

The final integration point is to grant Meticulous permissions to post comments on your pull requests or merge requests.

Execute
02.
Execute

Meticulous executes your tests, parallelized across our compute cluster

When you post a pull request, Meticulous selects a subset of the recorded sessions that cover each feature of your application and uses these as the basis for an end-to-end suite of tests. We then spin up workers across our compute cluster, each launching a browser.

For each selected session, we dispatch the recorded events to the browser, simulating the exact same sequence of actions which were taken at record-time.

Snapshots

Meticulous detects all behavioural, logical and visual changes

Meticulous captures a visual snapshot after dispatching each event, and compares these snapshots to those generated for the base commit. This tests not only visual changes, but behavioral and logical changes -- such as broken buttons or bugs in business logic.

The browser is augmented to be deterministic in order to eliminate flakes - Meticulous is the only product which has this.

Network Reports

By default Meticulous mocks out any network requests to your backend

Whenever the application goes to make a network request, Meticulous automatically mocks out that network call. This guarantees that there are no side effects.

Review
03.
Pull Request

See your visual diffs on every PR

Meticulous will post a comment on every pull request showing the logical, behavioral and visual changes across all edge cases. Review the changes in a few clicks, and merge your pull request if everything looks good.

Get Started Now
Arrow OrangeArrow Lite

What developers say

Once you start using Meticulous, you won’t want to stop. It provides confidence without the effort of writing and maintaining tests. I love the tight feedback loop of seeing a visual confirmation of my changes, and any unwanted side effects.
Joel Hollingsmith
Joel Hollingsmith
Engineer at Patchwork
Once you start using Meticulous, you won’t want to stop. It provides confidence without the effort of writing and maintaining tests. I love the tight feedback loop of seeing a visual confirmation of my changes, and any unwanted side effects.
Joel Hollingsmith
Engineer at Patchwork
Meticulous eliminated the need to write and maintain frontend tests across my engineering organization. One of the most exciting DevTools on the market today.
Seth Carney
CTO of Courier
We trust Meticulous to be the sole front-end testing system for our app. It has caught countless UI bugs and regressions without us having to write a single test. This coverage saves us time and gives us confidence to move quickly.
Nick Hrynuik
Engineer at WithPower
FAQ

Feel free to chat directly with us by clicking the message box in the bottom right corner.

Is Meticulous SOC2 compliant?
FAQ Icon

Yes, we are SOC2 Type II certified. Please visit our security portal at security.meticulous.ai to learn more or reach out to security@meticulous.ai

Is Meticulous SOC2 compliant?
FAQ ArrowFAQ Arrow

Yes, we are SOC2 Type II compliant. Please visit our security portal at security.meticulous.ai to learn more or reach out to security@meticulous.ai

What integrations and frameworks does Meticulous support?
FAQ ArrowFAQ Arrow

Meticulous supports dozens of frameworks, including React, Vue, Angular, Vite, Svelte, Next12, Next13, Next14 and more. Meticulous has integrations with GitHub, GitLab and Vercel but works on any CI provider.

Please see our documentation for more details or reach out to help@meticulous.ai

How does enterprise pricing work?
FAQ ArrowFAQ Arrow

Please reach out to us at help@meticulous.ai

What makes Meticulous different from other tools?
FAQ ArrowFAQ Arrow

Meticulous continually adds new tests as new features or edge cases are introduced, and removes old tests as they become out of date - ensuring your test suite is always up to date and complete, without any intervention required by developers.


It’s also built from the Chromium level up with a deterministic scheduling engine -- making it the only testing tool that eliminates flakes. In addition this technology allows Meticulous execute tests at lightning fast speeds.

Learn more about how Meticulous works here

Will this cause side effects?
FAQ ArrowFAQ Arrow

By default Meticulous mocks out the responses from your backend by saving and replaying the original recorded responses - this means side-effect free tests with no false positives from changing data, and no need to set up special test accounts or mock test data for each test run. Flows that involve mutating or editing data, or one time setup flows, just work, even when run again and again.

Learn more about how Meticulous works here

What industry experts are backing this?
FAQ ArrowFAQ Arrow

We're funded by Y Combinator, Coatue, the CTO of GitHub, CPO of Adobe, founder of Vercel, founder of Opendoor, founder of Segment, Lachy Groom, YC partner Jared Friedman, and many other amazing investors from Silicon Valley.

What’re your security policies?
FAQ ArrowFAQ Arrow

See our security portal at security.meticulous.ai

Does Meticulous catch logical, behavioral or functional changes?
FAQ ArrowFAQ Arrow

Yes. Meticulous catches any logical or behavioral change, such as a broken button, a broken modal, a refactored component or a dependency upgrade.

Learn more about how Meticulous works here

Ready to start?

Set up in minutes and generate tests to cover your whole application.