In this video· click a step to jump to it
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); }); }Checks run
Notes from the demo run
AI-generatedFreelancerPulse'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.
- Tool-first sidebarEvery 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 stateThe 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.
- 'Project Activity Chart Coming Soon' placeholder on the main dashboardThe 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
Proof your app is not AI slop
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.