Recording of the visual regression run on famespeak.online · FameSpeak — app walkthrough.

In this video· click a step to jump to it

F
Passed ✓

Test recording

FameSpeak — app walkthrough

112,752 ms · 6,954 pixels changed

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

Take this test with you

This is a real Playwright test, recorded against famespeak.online. Claim it into your own workspace and re-run it on every deploy — free.

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const shot = function (n, slug) { return 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, 1400); await new Promise(r => setTimeout(r, 350)); await anim(max, 0, 800); })()";

  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' });
  await page.route('**/cdn-cgi/scripts/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/*sentry*/**', function (r) { r.abort(); }).catch(function () {});
  await page.route('**/connect.facebook.net/**', function (r) { r.abort(); }).catch(function () {});

  // ── Scenario 1: public landing (context frame) ─────────────────────────────
  stepLogger.log('Scenario 1: FameSpeak landing page');
  await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
+118 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
8.98%
Text
—
DOM
✓
Network
+12 −72
Console
✓
A11y
A
Perf
192 over
URL
✓
Variables
—
Full report
Log in →
6,954
Diff px
1m 53s
Duration
A
Accessible
WCAG 2.2 · 93
B
Fast
Web Vitals · 85

Notes from the demo run

AI-generated

We created a FameSpeak account with an email and password and were inside the Premium studio in one step, with 20,000 credits already on the balance. We picked the "Product demo" preset, replaced it with our own script, hit Generate, and got a finished 8-second clip in the history rail. From signup to audible output was under a minute, which is rare. The free Edge TTS tier, Voice Cloning, credit ledger, shared-account and API-key surfaces all render behind the same session.

Highlights
  • Credits are granted before the ask
    20,000 premium credits are on the account at signup, so the first thing a visitor does is generate audio rather than read a pricing table.
  • Script presets remove the blank page
    YouTube intro, Anime voiceover, Story narration, Product demo and Game character give an evaluator something to hear in one click.
  • The credit ledger explains itself
    "Each purchase and reward keeps its own balance and expiry" with separate pools is unusually transparent for a credit system.
  • Shared-account model is well framed
    "A spend cap only RESTRICTS a member to less than the pool; it never gives them credit" pre-empts the exact question a team lead would ask.
Friction points
  • Plus-aliased Gmail is rejected at signup
    Submitting [email protected] returns "Sign up with a Gmail address (without a '+' alias)". The rule is enforced but only shown after the submit fails, and plus-aliasing is how a lot of developers trial tools. Surfacing it under the email field would save the round trip.
  • An upsell modal re-asserts on internal routes
    A "Maybe later / Close" dialog reappears on Credits, Team, API Keys and Courses. Dismissing once per session rather than per route would make the sidebar feel less sticky.
Couldn't reach
  • /api-keys (Create)·Viewed only - we never mint API keys on a customer account
  • /plans·Paid checkout - never entered

10 visual changes

Step 116 px changed
Before
Before
After
After
Diff
Diff
Step 2427 px changed
Before
Before
After
After
Diff
Diff
Step 3126 px changed
Before
Before
After
After
Diff
Diff
Step 4126 px changed
Before
Before
After
After
Diff
Diff
Step 51,896 px changed
Before
Before
After
After
Diff
Diff
Step 7409 px changed
Before
Before
After
After
Diff
Diff
Step 83,279 px changed
Before
Before
After
After
Diff
Diff
Step 9225 px changed
Before
Before
After
After
Diff
Diff
Step 11225 px changed
Before
Before
After
After
Diff
Diff
Step 12225 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,226 test runs recorded · 1,151 products tested with Lastest

This test was built for famespeak.online — 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.