In this video· click a step to jump to it
Test recording
linkos — app walkthrough
66,375 ms · 102 pixels changed
We built this regression test for linkos.bio — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against linkos.bio. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const CFG = {"appEntry":"/dashboard","publicMaxNav":0,"fullPage":true,"steps":[{"goto":"/dashboard","dismiss":true,"waitMs":2800,"label":"dashboard-overview"},{"goto":"/dashboard/links","waitMs":2600,"label":"links-manager"},{"goto":"/dashboard/profiles","waitMs":2600,"label":"bio-profiles"},{"goto":"/dashboard/appearance/editor","waitMs":3200,"label":"appearance-editor"},{"goto":"/dashboard/analytics","waitMs":2800,"label":"analytics"},{"goto":"/dashboard/qr-code","waitMs":2600,"label":"qr-code-generator"},{"goto":"/dashboard/forms","waitMs":2600,"label":"forms-builder"},{"goto":"/dashboard/marketing/newsletter","waitMs":2600,"label":"newsletter-marketing"}]};
const shot = function(i, s){ return screenshotPath.replace('.png', '-' + i + '-' + s + '.png'); };
page.setDefaultTimeout(6000);
// single combined noise-abort route (1 action instead of ~10)
await page.route(function(u){ return /sentry|segment\.com|googletagmanager|google-analytics|hotjar|posthog|connect\.facebook|cdn-cgi\/scripts/.test(u.toString()); }, function(r){ r.abort().catch(function(){}); }).catch(function(){});
let n = 1;
const FP = CFG.fullPage !== false;
const GOTO = 11000;
const wait = function(ms){ return page.waitForTimeout(ms||500); };
const dismiss = async function(){ const d = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|no thanks|continue|get started/i }).first(); if (await d.isVisible().catch(function(){return false;})) { await d.click({ timeout:2000 }).catch(function(){}); await wait(400); } };
const clickByText = function(src){ return page.evaluate(function(s){Checks run
Notes from the demo run
AI-generatedLinkos is a link-in-bio builder with a notably complete free tier. The authenticated dashboard carries a clean left rail (Dashboard, Links, Profiles, Appearance, Analytics, QR Code, Forms) and an Appearance editor with a live multi-device preview that mirrors styling changes in real time. The walk covered links, profiles, appearance, analytics, QR, forms and newsletter marketing, all reachable on the Free plan.
- Live device-preview in the editorThe Appearance editor renders desktop/tablet/mobile previews of the bio profile side-by-side, so styling edits are visible before saving.
- Forms, QR and newsletter on free tierQR generation, a forms builder and newsletter marketing are first-class sidebar items even before upgrading, which is unusually deep for a free link-in-bio tool.
- Coherent analytics surfaceProfile and Advanced analytics are split into their own routes rather than crammed into one chart, signalling a real reporting layer.
- Upgrade nudges repeat across panelsAn 'Upgrade to Starter' card appears on multiple authenticated screens; a single contextual prompt would feel less insistent.
- Stale copyright yearThe dashboard footer still reads © 2024 Linkos, a one-line fix worth catching before a launch push.
Visual change
Share this run
Proof your app is not AI slop
This test was built for linkos.bio — 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.


