In this video· click a step to jump to it
Test recording
Koecle — app walkthrough
116,648 ms · 0 pixels changed · matches baseline
We built this regression test for koecle.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against koecle.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":"NEXT_LOCALE","value":"en","url":"https://koecle.com/"},{"name":"sb-juiesovzqllzgnyfuzun-auth-token.0","value":"base64-eyJhY2Nlc3NfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0ltdHBaQ0k2SW1kbmRHTlFUekJYUW1KaVdqTklXVThpTENKMGVYQWlPaUpLVjFRaWZRLmV5SnBjM01pT2lKb2RIUndjem92TDJwMWFXVnpiM1o2Y1d4c2VtZHVlV1oxZW5WdUxuTjFjR0ZpWVhObExtTnZMMkYxZEdndmRqRWlMQ0p6ZFdJaU9pSXdNRGcxWmpjMU1DMWpNMkl4TFRReE16QXRZbUpsTnkwd05tRTVOV1pqTldZellXTWlMQ0poZFdRaU9pSmhkWFJvWlc1MGFXTmhkR1ZrSWl3aVpYaHdJam94Tnpnek9UWTBNalV6TENKcFlYUWlPakUzT0RNNU5qQTJOVE1zSW1WdFlXbHNJam9pYkdGemRHVnpkR05zYjNWa1FHZHRZV2xzTG1OdmJTSXNJbkJvYjI1bElqb2lJaXdpWVhCd1gyMWxkR0ZrWVhSaElqcDdJbkJ5YjNacFpHVnlJam9pWjI5dloyeGxJaXdpY0hKdmRtbGtaWEp6SWpwYkltZHZiMmRzWlNKZGZTd2lkWE5sY2w5dFpYUmhaR0YwWVNJNmV5SmhkbUYwWVhKZmRYSnNJam9pYUhSMGNITTZMeTlzYURNdVoyOXZaMnhsZFhObGNtTnZiblJsYm5RdVkyOXRMMkV2UVVObk9HOWpUR3gyV2t4TWJtY3lPVGhXVVcxdVNtbERaMGcyVm1SVVQzcExjME5WVFVSM1lsVTVNVEZRWDNkRVZtMVVkVWQ0VVQxek9UWXRZeUlzSW1WdFlXbHNJam9pYkdGemRHVnpkR05zYjNWa1FHZHRZV2xzTG1OdmJTSXNJbVZ0WVdsc1gzWmxjbWxtYVdWa0lqcDBjblZsTENKbWRXeHNYMjVoYldVaU9pSk1ZWE4wSWl3aWFYTnpJam9pYUhSMGNITTZMeTloWTJOdmRXNTBjeTVuYjI5bmJHVXVZMjl0SWl3aWJtRnRaU0k2SWt4aGMzUWlMQ0p3YUc5dVpWOTJaWEpwWm1sbFpDSTZabUZzYzJVc0luQnBZM1IxY21VaU9pSm9kSFJ3Y3pvdkwyeG9NeTVuYjI5bmJHVjFjMlZ5WTI5dWRHVnVkQzVqYjIwdllTOUJRMmM0YjJOTWJIWmFURXh1WnpJNU9GWlJiVzVLYVVOblNEWldaRlJQZWt0elExVk5SSGRpVlRreE1WQmZkMFJXYlZSMVIzaFJQWE01Tmkxaklpd2ljSEp2ZG1sa1pYSmZhV1FpT2lJeE1EUXhPVEF6TmpReE5EUXpOelV5TURZNU5UQWlMQ0p6ZFdJaU9pSXhNRFF4T1RBek5qUXhORFF6TnpVeU1EWTVOVEFpZlN3aWNtOXNaU0k2SW1GMWRHaGxiblJwWTJGMFpXUWlMQ0poWVd3aU9pSmhZV3d4SWl3aVlXMXlJanBiZXlKdFpYUm9iMlFpT2lKdllYVjBhQ0lzSW5ScGJXVnpkR0Z0Y0NJNk1UYzRNemsyTURZMU0zMWRMQ0p6WlhOemFXOXVYMmxrSWpvaVpHRTJPVEUxTm1ZdE9USmtPQzAwTnpKbUxXSXpPVEl0T0RVME1qVTBZbVpsWkRrM0lpd2lhWE5mWVc1dmJubHRiM1Z6SWpwbVlXeHpaWDAuSmZURXJTTktlV2hrM0s5cFNLUF9TTE9IWVlYdDVFR1d2bTRNYTd3ZjZQOCIsInRva2VuX3R5cGUiOiJiZWFyZXIiLCJleHBpcmVzX2luIjozNjAwLCJleHBpcmVzX2F0IjoxNzgzOTY0MjUzLCJyZWZyZXNoX3Rva2VuIjoiZm1wcmVkMzRxb3dsIiwidXNlciI6eyJpZCI6IjAwODVmNzUwLWMzYjEtNDEzMC1iYmU3LTA2YTk1ZmM1ZjNhYyIsImF1ZCI6ImF1dGhlbnRpY2F0ZWQiLCJyb2xlIjoiYXV0aGVudGljYXRlZCIsImVtYWlsIjoibGFzdGVzdGNsb3VkQGdtYWlsLmNvbSIsImVtYWlsX2NvbmZpcm1lZF9hdCI6IjIwMjYtMDctMTNUMTY6Mzc6MzIuNjU0NDNaIiwicGhvbmUiOiIiLCJjb25maXJtZWRfYXQiOiIyMDI2LTA3LTEzVDE2OjM3OjMyLjY1NDQzWiIsImxhc3Rfc2lnbl9pbl9hdCI6IjIwMjYtMDctMTNUMTY6Mzc6MzMuNTU3NTE0OTk0WiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6Imdvb2dsZSIsInByb3ZpZGVycyI6WyJnb29nbGUiXX0sInVzZXJfbWV0YWRhdGEiOnsiYXZhdGFyX3VybCI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FDZzhvY0xsdlpMTG5nMjk4VlFtbkppQ2dINlZkVE96S3NDVU1Ed2JVOTExUF93RFZtVHVHeFE9czk2LWMiLCJlbWFpbCI6Imxhc3Rlc3RjbG91ZEBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiZnVsbF9uYW1lIjoiTGFzdCIsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsIm5hbWUiOiJMYXN0IiwicGhvbmVfdmVyaWZpZWQiOmZhbHNlLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jTGx2WkxMbmcyOThWUW1uSmlDZ0g2VmRUT3pLc0NVTUR3YlU5MTFQX3dEVm1UdUd4UT1zOTYtYyIsInByb3ZpZGVyX2lkIjoiMTA0MTkwMzY0MTQ0Mzc1MjA2OTUwIiwic3ViIjoiMTA0MTkwMzY0MTQ0Mzc1MjA2OTUwIn0sImlkZW50aXRpZXMiOlt7ImlkZW50aXR5X2lkIjoiZjIyODMzNzEtZmE4NC00OTMwLTlmZWMtMTJjNGJlZjdkNzA3IiwiaWQiOiIxMDQxOTAzNjQxNDQzNzUyMDY5NTAiLCJ1c2VyX2lkIjoiMDA4NWY3NTAtYzNiMS00MTMwLWJiZTctMDZhOTVmYzVmM2FjIiwiaWRlbnRpdHlfZGF0YSI6eyJhdmF0YXJfdXJsIjoia","url":"https://koecle.com/"},{"name":"sb-juiesovzqllzgnyfuzun-auth-token.1","value":"HR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jTGx2WkxMbmcyOThWUW1uSmlDZ0g2VmRUT3pLc0NVTUR3YlU5MTFQX3dEVm1UdUd4UT1zOTYtYyIsImVtYWlsIjoibGFzdGVzdGNsb3VkQGdtYWlsLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmdWxsX25hbWUiOiJMYXN0IiwiaXNzIjoiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tIiwibmFtZSI6Ikxhc3QiLCJwaG9uZV92ZXJpZmllZCI6ZmFsc2UsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vYS9BQ2c4b2NMbHZaTExuZzI5OFZRbW5KaUNnSDZWZFRPektzQ1VNRHdiVTkxMVBfd0RWbVR1R3hRPXM5Ni1jIiwicHJvdmlkZXJfaWQiOiIxMDQxOTAzNjQxNDQzNzUyMDY5NTAiLCJzdWIiOiIxMDQxOTAzNjQxNDQzNzUyMDY5NTAifSwicHJvdmlkZXIiOiJnb29nbGUiLCJsYXN0X3NpZ25faW5fYXQiOiIyMDI2LTA3LTEzVDE2OjM3OjMyLjY0OTg4NVoiLCJjcmVhdGVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNzozMi42NDk5NFoiLCJ1cGRhdGVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNzozMi42NDk5NFoiLCJlbWFpbCI6Imxhc3Rlc3RjbG91ZEBnbWFpbC5jb20ifV0sImNyZWF0ZWRfYXQiOiIyMDI2LTA3LTEzVDE2OjM3OjMyLjYzODgwMVoiLCJ1cGRhdGVkX2F0IjoiMjAyNi0wNy0xM1QxNjozNzozMy41NjExM1oiLCJpc19hbm9ueW1vdXMiOmZhbHNlfSwicHJvdmlkZXJfdG9rZW4iOiJ5YTI5LmEwQVJHbnUwYkpRXzducS13S0hmZFpib0RxTTN1RkxKel9BTDFFbWxsODJCTXpfd2RFYlVaUU9ZdFhYQ2tWS29HTF81QnZ0ZDJGUU9yeVZFZkR0SGl2amNWUzlYeUVoZXN3T2pEV1pDbFhRRXVORFlSNVAtUk1lbHRjX0pDOXpvVE1xTjFDaWpGalFadGJ1SEx4VDhQdmptNlNhYUhWVE0xWnE0MGVwTzZiOWJDd3lXTVV4MUY0RlVoU1UzOVlYakE3YncxS1pGTWFDZ1lLQWRJU0FSVVNGUUhHWDJNaUF4eDRTSkJtYmFJVWtvSHN0TXY2U3cwMjA2In0","url":"https://koecle.com/"}];
const LS = {"kiiku_onboarding_v1:0085f750-c3b1-4130-bbe7-06a95fc5f3ac":"{\"hasSeenWelcome\":false,\"completedModules\":[],\"dismissedHints\":[],\"taskOnboarding\":{\"phase\":\"not_started\",\"interviewId\":null,\"startedAt\":null,\"completedAt\":null},\"version\":3}"};
if (COOKIES.length) { await page.context().addCookies(COOKIES).catch(function(e){ stepLogger.warn('addCookies: ' + e.message); }); }Checks run
Notes from the demo run
AI-generatedKoecle drops a new Google user onto a tidy interview-research dashboard: a 'New Interview' primary button, a rail of Dashboard / Organizations / Billing / Projects, a live credit balance (13 credits) and an Interview List with All/Draft/In Progress/Completed filters. The empty state invites the first interview rather than showing a blank page.
- Credits visible from the first screenThe 13-credit balance sits in the rail so a new user knows exactly what they can spend before committing — good for a usage-based tool.
- Status-segmented work listThe All/Draft/In Progress/Completed tabs give the workspace an obvious shape even at zero interviews, so the product reads as a pipeline not a blank form.
- Locale defaults to Japanese for new sessionsA fresh browser context loaded the whole app in Japanese until a NEXT_LOCALE cookie was set — an English default (or an early language toggle) would smooth first-run for non-JP visitors.
Share this run
Proof your app is not AI slop
This test was built for koecle.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.