In this video· click a step to jump to it
Test recording
weone - recruiter app walkthrough
133,106 ms · 22,848 pixels changed
We built this regression test for recruiter.weone.io — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against recruiter.weone.io. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const APP = baseUrl.replace(/\/+$/, '');
const WWW = 'https://weone.io';
const shot = (n, slug) => screenshotPath.replace('.png', '-' + n + '-' + slug + '.png');
const SCROLL_THROUGH = "(async () => { const ease = t => 1 - Math.pow(1 - t, 3); const max = Math.max(0, document.body.scrollHeight - window.innerHeight); if (max < 40) return; const anim = (a, b, ms) => new Promise(res => { const t0 = performance.now(); const step = now => { const p = Math.min(1, (now - t0) / ms); window.scrollTo(0, a + (b - a) * ease(p)); p < 1 ? requestAnimationFrame(step) : res(); }; requestAnimationFrame(step); }); await anim(0, max, 1200); await new Promise(r => setTimeout(r, 250)); await anim(max, 0, 600); })()";
await page.context().setExtraHTTPHeaders({ 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36' });
for (const pattern of ['**/googletagmanager.com/**', '**/cdn.segment.com/**', '**/connect.facebook.net/**', '**/browser.sentry-cdn.com/**']) {
await page.route(pattern, function (r) { r.abort(); }).catch(function () {});
}
const settle = async function (ms) {Checks run
Notes from the demo run
AI-generatedWe signed up as a solo recruiter with Google, landed in the workspace in seconds, and walked the whole ATS: dashboard, jobs, candidates, interviews, analytics, placements, notes, company branding, clients, billing and integrations. The shell is genuinely well built - consistent, fast, a command palette on every screen, and a live job-post preview that updates as you type. Then we tried to post a job, which is the first thing the dashboard asks you to do, and could not finish step 1 of 10.
- Google sign-in to a working workspace in under 30 secondsNo email verification, no card, no setup wizard before the product. A personal workspace was created automatically and the trial banner tells you exactly how long you have. That is a very low-friction front door for a category that usually demands a sales call.
- The job wizard has a live preview paneAs we typed the job title, the right-hand card rendered the actual candidate-facing post with skills, benefits and language. Showing the output next to the input is the right design for a ten-step form.
- The dashboard asks for the next action, not for attentionPost a job, Add candidate, Schedule interview as three primary buttons, plus a checklist (add a client, connect Google Calendar, connect your email sender). Every empty state points somewhere concrete.
- Interviews and placements are first-classMost lightweight ATS products stop at a pipeline board. Having placements as its own ledger, with analytics behind it, is what makes this usable for an agency rather than just a hiring team.
- A new solo recruiter cannot get past step 1 of the job wizardThe required 'Who is this job for?' select renders two options, an empty placeholder and 'My own company' - and both carry value="". Because the only real choice has an empty value, the controlled select never registers a change, Continue stays inert, and the wizard sits on step 1 of 10. We confirmed it three ways: selecting by index, selecting by label, and forcing selectedIndex=1 with a dispatched change event all left the value as an empty string. Giving that option a real value (or defaulting solo accounts to their own company) unblocks the product's primary action.
- Email signup returns a generic errorEntering an address on /register/recruiter and pressing Continue with email returned 'Something went wrong. Please try again.' with no detail. Google worked first try, so the email path is the one costing you signups, and the message gives the visitor nothing to act on.
- /settings/billing checkout·Paid plan checkout - never exercised
6 visual changes
Share this run
Proof your app is not AI slop
This test was built for recruiter.weone.io — 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.

















