Recording of the visual regression run on viralto.io · viralto — app walkthrough.

In this video· click a step to jump to it

V
Passed ✓

Test recording

viralto — app walkthrough

55,194 ms · 1,511 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against viralto.io. 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","waitMs":6000,"label":"dashboard-herolastest-connected"},{"clickText":"Settings","waitMs":4500,"label":"settings-herolastest-x-account"},{"clickText":"Tasks","waitMs":4500,"label":"tasks-available-engagement"},{"clickText":"Analytics","waitMs":3800,"label":"analytics"},{"clickText":"Referral Program","waitMs":3800,"label":"referral-program"},{"clickText":"Overview","waitMs":3500,"label":"overview-credits-reputation"},{"clickText":"Campaigns","waitMs":3800,"label":"campaigns-your-campaigns"},{"clickText":"Create Campaign","waitMs":4000,"label":"create-campaign-x-promotion-builder"}]};
  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){
+55 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
0.36%
Text
—
DOM
✓
Network
✓
Console
✓
A11y
A
Perf
120 over
URL
✓
Variables
—
Full report
Log in →
1,511
Diff px
55s
Duration
A
Accessible
WCAG 2.2 · 90
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

ViralTo is a credit-based social-growth engagement-exchange. After completing onboarding and connecting the @HeroLastest X account (auto-detected: 7 followers, Lifestyle category), the authenticated dashboard shows a real working surface: a Monthly/Extra credits balance (10 free credits granted at signup), a Reputation score (50/100), per-engagement pricing (Like 2, Visit 2, Repost 8, Follow 10, Comment 12 credits), a weekly credit-usage chart, recent transactions and reputation history. The in-app tabs (Overview, Campaigns, Tasks, Analytics, Referral, Settings) are real SPA views, and the Create-Campaign builder scopes promotion to the connected @herolastest account.

Highlights
  • Connected account drives the whole app
    Connecting @HeroLastest in onboarding auto-detected its follower count and category, and the campaign builder then restricts promotion to 'Allowed accounts: @herolastest' — a clean trust model that ties spend to a verified account.
  • Earn-to-spend credit loop is transparent
    Signup grants 10 credits immediately; the dashboard shows exact per-engagement costs and a usage chart, so a new user sees how the economy works before paying.
  • Campaign builder is concrete
    Create New Campaign lets you pick platform (X.com), paste a post URL and select engagement types (Like/Repost/Follow/Comment) with a live Total Cost — no guesswork about what a campaign does.
Friction points
  • Onboarding modal gates the dashboard
    A first-login 'Welcome to ViralTo' modal (goal-picker + connect-account + legal accept) overlays the dashboard and must be completed before any real content shows; until it is done the product looks like a tutorial rather than an app.
  • Social connection required before value
    Campaigns can't be created until at least one X/Instagram account is connected, so the very first action a new user must take is hand over a social handle.

Visual change

Step 11,511 px changed
Before
Before
After
After
Diff
Diff

Share this run

Earned · Lastest awards

Proof your app is not AI slop

LASTEST
starter
tests
all passing
regressions
0
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,275 test runs recorded · 1,164 products tested with Lastest

This test was built for viralto.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.