Recording of the visual regression run on freelancerpulse.com · FreelancerPulse — app walkthrough.

In this video· click a step to jump to it

F
Passed ✓

Test recording

FreelancerPulse — app walkthrough

134,598 ms · 0 pixels changed · matches baseline

We built this regression test for freelancerpulse.com — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against freelancerpulse.com. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot = (n, s) => screenshotPath.replace('.png', '-' + n + '-' + s + '.png');
  const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36';
  await page.context().setExtraHTTPHeaders({ 'User-Agent': UA }).catch(function(){});
  for (const pat of ['**/cdn-cgi/scripts/**/email-decode.min.js','**/browser.sentry-cdn.com/**','**/sentry-cdn.com/**','**/cdn.segment.com/**','**/connect.facebook.net/**','**/*posthog*/**','**/*datafast*/**']) {
    await page.route(pat, function(r){ r.abort().catch(function(){}); }).catch(function(){});
  }

  // ── Inject captured session (cookies + localStorage) ──────────────────────
  const COOKIES = [{"name":"sb-jmwoxrwbgxpfkilcugyw-auth-token.0","value":"base64-eyJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0ltdHBaQ0k2SW5CTFV6UlFiR0pzWVZSRmFIcHBjMUVpTENKMGVYQWlPaUpLVjFRaWZRLmV5SnBjM01pT2lKb2RIUndjem92TDJwdGQyOTRjbmRpWjNod1ptdHBiR04xWjNsM0xuTjFjR0ZpWVhObExtTnZMMkYxZEdndmRqRWlMQ0p6ZFdJaU9pSmxPRFJqTmpFNU5pMHlPREE0TFRSaE5XTXRZamcwWVMwMk5XRTNPRGt4WW1NMFpUTWlMQ0poZFdRaU9pSmhkWFJvWlc1MGFXTmhkR1ZrSWl3aVpYaHdJam94Tnpnek9UWTBNakE1TENKcFlYUWlPakUzT0RNNU5qQTJNRGtzSW1WdFlXbHNJam9pYkdGemRHVnpkR05zYjNWa1FHZHRZV2xzTG1OdmJTSXNJbkJvYjI1bElqb2lJaXdpWVhCd1gyMWxkR0ZrWVhSaElqcDdJbkJ5YjNacFpHVnlJam9pWjI5dloyeGxJaXdpY0hKdmRtbGtaWEp6SWpwYkltZHZiMmRzWlNKZGZTd2lkWE5sY2w5dFpYUmhaR0YwWVNJNmV5SmhkbUYwWVhKZmRYSnNJam9pYUhSMGNITTZMeTlzYURNdVoyOXZaMnhsZFhObGNtTnZiblJsYm5RdVkyOXRMMkV2UVVObk9HOWpUR3gyV2t4TWJtY3lPVGhXVVcxdVNtbERaMGcyVm1SVVQzcExjME5WVFVSM1lsVTVNVEZRWDNkRVZtMVVkVWQ0VVQxek9UWXRZeUlzSW1WdFlXbHNJam9pYkdGemRHVnpkR05zYjNWa1FHZHRZV2xzTG1OdmJTSXNJbVZ0WVdsc1gzWmxjbWxtYVdWa0lqcDBjblZsTENKbWRXeHNYMjVoYldVaU9pSk1ZWE4wSWl3aWFYTnpJam9pYUhSMGNITTZMeTloWTJOdmRXNTBjeTVuYjI5bmJHVXVZMjl0SWl3aWJtRnRaU0k2SWt4aGMzUWlMQ0p3YUc5dVpWOTJaWEpwWm1sbFpDSTZabUZzYzJVc0luQnBZM1IxY21VaU9pSm9kSFJ3Y3pvdkwyeG9NeTVuYjI5bmJHVjFjMlZ5WTI5dWRHVnVkQzVqYjIwdllTOUJRMmM0YjJOTWJIWmFURXh1WnpJNU9GWlJiVzVLYVVOblNEWldaRlJQZWt0elExVk5SSGRpVlRreE1WQmZkMFJXYlZSMVIzaFJQWE01Tmkxaklpd2ljSEp2ZG1sa1pYSmZhV1FpT2lJeE1EUXhPVEF6TmpReE5EUXpOelV5TURZNU5UQWlMQ0p6ZFdJaU9pSXhNRFF4T1RBek5qUXhORFF6TnpVeU1EWTVOVEFpZlN3aWNtOXNaU0k2SW1GMWRHaGxiblJwWTJGMFpXUWlMQ0poWVd3aU9pSmhZV3d4SWl3aVlXMXlJanBiZXlKdFpYUm9iMlFpT2lKdllYVjBhQ0lzSW5ScGJXVnpkR0Z0Y0NJNk1UYzRNemsyTURZd09YMWRMQ0p6WlhOemFXOXVYMmxrSWpvaU56bG1NekUzTm1FdFpqUXlZeTAwTlRnNUxXSTJNbVl0TjJRME0yVXpaalkyTm1FeUlpd2lhWE5mWVc1dmJubHRiM1Z6SWpwbVlXeHpaWDAuWE5GdjEyeWphaFRFb3JVdWdyZjhYSVVrMS1SR3Bzb1AydncyZ040UEhXZyIsInRva2VuX3R5cGUiOiJiZWFyZXIiLCJleHBpcmVzX2luIjozNjAwLCJleHBpcmVzX2F0IjoxNzgzOTY0MjA5LCJyZWZyZXNoX3Rva2VuIjoid3p6cnozZXo1ZzRmIiwidXNlciI6eyJpZCI6ImU4NGM2MTk2LTI4MDgtNGE1Yy1iODRhLTY1YTc4OTFiYzRlMyIsImF1ZCI6ImF1dGhlbnRpY2F0ZWQiLCJyb2xlIjoiYXV0aGVudGljYXRlZCIsImVtYWlsIjoibGFzdGVzdGNsb3VkQGdtYWlsLmNvbSIsImVtYWlsX2NvbmZpcm1lZF9hdCI6IjIwMjYtMDctMTNUMTY6MzY6NDkuMjY2MDM4WiIsInBob25lIjoiIiwiY29uZmlybWVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNjo0OS4yNjYwMzhaIiwibGFzdF9zaWduX2luX2F0IjoiMjAyNi0wNy0xM1QxNjozNjo0OS44NzU3Njk2NDRaIiwiYXBwX21ldGFkYXRhIjp7InByb3ZpZGVyIjoiZ29vZ2xlIiwicHJvdmlkZXJzIjpbImdvb2dsZSJdfSwidXNlcl9tZXRhZGF0YSI6eyJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jTGx2WkxMbmcyOThWUW1uSmlDZ0g2VmRUT3pLc0NVTUR3YlU5MTFQX3dEVm1UdUd4UT1zOTYtYyIsImVtYWlsIjoibGFzdGVzdGNsb3VkQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmdWxsX25hbWUiOiJMYXN0IiwiaXNzIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tIiwibmFtZSI6Ikxhc3QiLCJwaG9uZV92ZXJpZmllZCI6ZmFsc2UsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS9BQ2c4b2NMbHZaTExuZzI5OFZRbW5KaUNnSDZWZFRPektzQ1VNRHdiVTkxMVBfd0RWbVR1R3hRPXM5Ni1jIiwicHJvdmlkZXJfaWQiOiIxMDQxOTAzNjQxNDQzNzUyMDY5NTAiLCJzdWIiOiIxMDQxOTAzNjQxNDQzNzUyMDY5NTAifSwiaWRlbnRpdGllcyI6W3siaWRlbnRpdHlfaWQiOiIwMjMwMjE0My04YjBlLTQ5MDUtYWVjMi1hZWM0OTkxNTQzZmIiLCJpZCI6IjEwNDE5MDM2NDE0NDM3NTIwNjk1MCIsInVzZXJfaWQiOiJlODRjNjE5Ni0yODA4LTRhNWMtYjg0YS02NWE3ODkxYmM0ZTMiLCJpZGVudGl0eV9kYXRhIjp7ImF2YXRhcl91cmwiO","url":"https://freelancerpulse.com/"},{"name":"sb-jmwoxrwbgxpfkilcugyw-auth-token.1","value":"iJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS9BQ2c4b2NMbHZaTExuZzI5OFZRbW5KaUNnSDZWZFRPektzQ1VNRHdiVTkxMVBfd0RWbVR1R3hRPXM5Ni1jIiwiZW1haWwiOiJsYXN0ZXN0Y2xvdWRAZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZ1bGxfbmFtZSI6Ikxhc3QiLCJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJuYW1lIjoiTGFzdCIsInBob25lX3ZlcmlmaWVkIjpmYWxzZSwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0xsdlpMTG5nMjk4VlFtbkppQ2dINlZkVE96S3NDVU1Ed2JVOTExUF93RFZtVHVHeFE9czk2LWMiLCJwcm92aWRlcl9pZCI6IjEwNDE5MDM2NDE0NDM3NTIwNjk1MCIsInN1YiI6IjEwNDE5MDM2NDE0NDM3NTIwNjk1MCJ9LCJwcm92aWRlciI6Imdvb2dsZSIsImxhc3Rfc2lnbl9pbl9hdCI6IjIwMjYtMDctMTNUMTY6MzY6NDkuMjU3Mjg0WiIsImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEzVDE2OjM2OjQ5LjI1NzM0NVoiLCJ1cGRhdGVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNjo0OS4yNTczNDVaIiwiZW1haWwiOiJsYXN0ZXN0Y2xvdWRAZ21haWwuY29tIn1dLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNjo0OS4xMTEwMTJaIiwidXBkYXRlZF9hdCI6IjIwMjYtMDctMTNUMTY6MzY6NDkuOTE5N1oiLCJpc19hbm9ueW1vdXMiOmZhbHNlfSwicHJvdmlkZXJfdG9rZW4iOiJ5YTI5LmEwQVJHbnUwYnpPU3dEbEVONWNNRmlmQVRqdjVIWVdUNkdrbTAxSFRvOWdmRjZpYjk3OUdmNzBQZTAtZEZGOUhYRzJVXzUwYURqRU11azNfVFlYbkUzaGlIQzh3dWk3b3hiODFidDJldDkwNThWdF9hc1lNaGZOZ0FsZkt0V2t3eTlhYUowWUlsUHRpT3FSLXdqUmNqeTNRMkdERnRIMTF6anpjODI2aXIzMjU3cjk2T2dTS1FCVWNmQ3hWOFpsM1RmNTFIdHlzSWFDZ1lLQWJvU0FSVVNGUUhHWDJNaS16UlQtQUVLZ3hhNUdLQnlFeTg2bncwMjA2In0","url":"https://freelancerpulse.com/"}];
  const LS = {};
  if (COOKIES.length) { await page.context().addCookies(COOKIES).catch(function(e){ stepLogger.warn('addCookies: ' + e.message); }); }
+64 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
—
Console
✓
A11y
A
Perf
—
URL
✓
Variables
—
Full report
Log in →
0
Diff px
2m 15s
Duration
A
Accessible
WCAG 2.2 · 98
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

FreelancerPulse's 'Unified AI' dashboard is a clean, dark, single-column workspace: a left rail of concrete tools (DepositPulse, Project Estimator, Portfolio Generator, ProposalPulse, Content AI Tools) plus Settings and Billing, with Overview/Analytics/Reports tabs and four stat tiles up top. Google signup landed us straight on it as a FREE-tier account.

Highlights
  • Tool-first sidebar
    Every rail item is a named deliverable (estimate, proposal, portfolio) rather than an abstract menu — a freelancer immediately sees what the product does for them.
  • Honest empty state
    The zero-state ('You have used 0 out of 3 projects', 'No projects found') is explicit about the free tier rather than faking data, which builds trust.
Friction points
  • 'Project Activity Chart Coming Soon' placeholder on the main dashboard
    The largest panel on the authed landing is a coming-soon dashed box — swapping it for a first-action prompt (e.g. 'Create your first estimate') would make the empty dashboard feel less unfinished.

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,536 test runs recorded · 1,174 products tested with Lastest

This test was built for freelancerpulse.com — claim it free

One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.