Recording of the visual regression run on portfolio-terminal.com · Portfolio Terminal — app walkthrough.

In this video· click a step to jump to it

P
Passed

Test recording

Portfolio Terminal — app walkthrough

85,109 ms · 3,389 pixels changed

We built this regression test for portfolio-terminal.com — it's yours to keep, free.

Take this test with you

This is a real Playwright test, recorded against portfolio-terminal.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, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);

  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('**/connect.facebook.net/**', function (r) { r.abort(); }).catch(function () {});

  // ── Step 1: public home (context) ───────────────────────────────────────
  stepLogger.log('Step 1: Public home');
  await page.goto(baseUrl, { waitUntil: 'domcontentloaded' });
  await page.waitForLoadState('networkidle', { timeout: 2500 }).catch(function () {});
  await page.locator('h1, main').first().waitFor({ state: 'visible', timeout: 10000 }).catch(function () {});
+89 more lines claim the test to get the full code.

Checks run

Run
Visual
4.32%
Text
DOM
Network
+819 −819
Console
A11y
B
Perf
741 over
URL
Variables
Full report
Log in →
3,389
Diff px
1m 25s
Duration
B
Accessible
WCAG 2.2 · 87
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

We signed in with the email code, imported the example portfolio through your three-step Import → Review → Confirm flow, and then walked the signed-in terminal with three live positions (AAPL, MSFT, TSLA, $6,558.74). Thirteen steps recorded. The review step is the best part of the product: it shows every pending change with a running 'nothing is written until you press the button' promise, and it keeps that promise.

Highlights
  • Import that earns trust before it writes
    '3 holdings ADDED / 0 CHANGED / 0 UNTOUCHED' with a Save button underneath is the clearest import diff we have driven. Most trackers just swallow the file.
  • Insights appear at import time, not later
    Within seconds of saving, 'AAPL is 51% of your portfolio — overweight +18pts' and 'TSLA: P/E 334' were already on the overview. The product made a point on its first screen.
  • Risk panel is honest about thin data
    The correlation matrix renders but is labelled INCOMPLETE ANALYSIS with 'Missing: 30 daily returns'. Saying what it cannot conclude is rarer than showing a number.
  • Paste-or-screenshot beats broker OAuth
    No account linking, no waiting list. We went from signed-in to a scored portfolio in under a minute.
Friction points
  • Performance chart is empty on day one
    A portfolio imported today plots a single datapoint, so the largest panel on the overview reads as a blank chart right after the most satisfying moment in the flow. Backfilling from the buy dates you already collected, or swapping in the allocation donut until there are two datapoints, would keep that screen earning its space.
  • Three critical accessibility violations
    Our axe-core pass scored 87 with 3 critical rules failing across the signed-in terminal. Dense financial UIs usually trip contrast and name-role-value; worth one pass.

12 visual changes

Step 1641 px changed
Before
Before
After
After
Diff
Diff
Step 25 px changed
Before
Before
After
After
Diff
Diff
Step 366 px changed
Before
Before
After
After
Diff
Diff
Step 495 px changed
Before
Before
After
After
Diff
Diff
Step 5132 px changed
Before
Before
After
After
Diff
Diff
Step 626 px changed
Before
Before
After
After
Diff
Diff
Step 730 px changed
Before
Before
After
After
Diff
Diff
Step 889 px changed
Before
Before
After
After
Diff
Diff
Step 9238 px changed
Before
Before
After
After
Diff
Diff
Step 1063 px changed
Before
Before
After
After
Diff
Diff
Step 1163 px changed
Before
Before
After
After
Diff
Diff
Step 121,941 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.
56,767 test runs recorded · 1,009 products tested with Lastest

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