External Performance Audit

Artlist.io Performance Analysis

I analyzed artlist.io and toolkit.artlist.io using Lighthouse, Chrome DevTools, and HAR file analysis to identify performance bottlenecks and optimization opportunities.

Data collected on January 25, 2026 • This is an independent technical audit, not affiliated with Artlist

Key Findings

Critical
Performance

36

out of 100 (poor)

LCP

8.5 s

should be < 2.5s

JavaScript

13.4 MB

excessive bundle size

Requests

431

network requests on load

Summary

  • Desktop users wait 8.8 s before the page becomes interactive - users on slower connections likely abandon
  • 13.4 MB of JavaScript loaded - most users only need a fraction of this on initial load
  • 16 third-party services detected - analytics overlap (Hotjar + Clarity + Segment) adds unnecessary overhead
  • Good foundation: Next.js App Router, modern image formats (AVIF), proper SEO score (91/100)

Lighthouse Scores

https://artlist.io

Performance

36

Accessibility

80

Best Practices

96

SEO

91

Core Web Vitals (desktop)

FCP< 1.8s

1.8 s

First Contentful Paint

LCP< 2.5s

8.5 s

Largest Contentful Paint

TBT< 200ms

250 ms

Total Blocking Time

CLS< 0.1

0.277

Cumulative Layout Shift

SI< 3.4s

4.8 s

Speed Index

TTI< 3.8s

8.8 s

Time to Interactive

What I Would Fix

Prioritized optimization opportunities based on impact

Reduce JavaScript bundle size

javascript

14MB of JavaScript is loaded on initial page load. Implement aggressive code splitting, lazy loading for below-fold components, and tree shaking to reduce initial bundle by 50-70%.

Potential 7-10MB reduction

Consolidate analytics tools

third-party

Running Hotjar, Clarity, Segment, and GTM simultaneously creates significant overhead. Hotjar and Clarity have overlapping functionality - consider keeping only one.

~500KB + reduced CPU overhead

Defer non-critical third-party scripts

third-party

16 third-party services load during page initialization. Defer marketing pixels (LinkedIn, Snapchat, Bing) until after user interaction.

Optimize LCP element

rendering

LCP of 8.5s on desktop indicates the main content loads too late. Add fetchpriority="high" to hero images and preload critical assets.

Target: < 2.5s LCP

Fix CLS issues

rendering

CLS of 0.277 on desktop exceeds the 0.1 threshold. Reserve space for images and dynamic content to prevent layout shifts.

Network Analysis

431 requests · 17.2 MB total

Resource Breakdown

JavaScript78%
CSS8%
Fonts8%
Images3%
HTML2%
JSON/API1%
Other0%
JavaScript
13.4 MB(144 files)
CSS
1.3 MB(8 files)
Fonts
1.3 MB(28 files)
Images
532.4 KB(27 files)

Detected Tech Stack

Next.js (App Router)React 18+TypeScriptTailwind CSSImgix CDNVercel

Detected via network analysis, script patterns, and response headers

Third-Party Services

(16 detected)
Analytics5 services

Google Tag Manager

googletagmanager.com

Tag management & analytics orchestration

Google Analytics

analytics.google.com

Web analytics

Segment

cdn.segment.com

Customer data platform

Hotjar

hotjar.com

Heatmaps & session recordings

Microsoft Clarity

clarity.ms

Behavioral analytics

Error Tracking2 services

Sentry

sentry.io

Error monitoring & reporting

DataDog

datadoghq.com

Application performance monitoring

Feature Flags1 services

Split.io

split.io

Feature flag management

Marketing5 services

Braze

braze.eu

Customer engagement platform

Google Ads

googleads.g.doubleclick.net

Advertising & remarketing

LinkedIn Ads

ads.linkedin.com

Advertising pixel

Snapchat Ads

snapchat.com

Advertising pixel

Bing Ads

bat.bing.com

Advertising pixel

CDN2 services

Imgix

imgix.net

Image CDN & optimization

Font Awesome

fontawesome.com

Icon font library

Other1 services

Cookie Script

cookie-script.com

Cookie consent management

I Can Implement These Optimizations

As a senior frontend engineer specializing in Next.js and performance optimization, I have hands-on experience reducing bundle sizes by 60%+, improving Core Web Vitals, and implementing efficient third-party script loading strategies.