Recording of the visual regression run on revise.io · revise — marketing + AI rewriter interaction (paste-text → submit → revised version).

In this video· click a step to jump to it

R
Passed ✓

Test recording

revise — marketing + AI rewriter interaction (paste-text → submit → revised version)

31,799 ms · 9,618 pixels changed

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

Take this test with you

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

export async function test(page, baseUrl, screenshotPath, stepLogger) {
  const SITE = 'https://revise.io';
  const STAMP = Math.floor(Date.now() / 1000).toString(36);
  const DEMO_TEXT = 'AI Overviews are stealing 20%+ of organic traffic. Most SEO tools optimize for Google rank. This is a fundamentally different problem requiring a different signal: do LLMs cite your content when answering relevant questions?';

  let __step = 0;
  const shot = async (label) => {
    __step++;
    const tag = String(__step).padStart(2, '0') + '-' + label;
    const p = screenshotPath.replace(/(\.png)?$/, '-' + tag + '.png');
    await page.screenshot({ path: p, fullPage: true });
    stepLogger.log('📸 ' + __step + ': ' + label);
+77 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
6.28%
Text
—
DOM
✓
Network
+108 −99
Console
✓
A11y
—
Perf
90 over
URL
36 diverged
Variables
—
Full report
Log in →
9,618
Diff px
32s
Duration
—
Accessible
C
Fast
Web Vitals · 70

Notes from the demo run

AI-generated

Revise (revise.io) is a no-auth AI rewriter that exposes its primary value before asking for anything. The /ai-rewriter page is a split-pane editor (source text left, revised version right) with a model picker (GPT 5.4) and a prompt textarea pre-loaded with 'Rewrite this to be clearer, cleaner, and easier to read while preserving the original meaning and tone.' Tested by walking marketing (Pricing / Blog / Docs / Proofreader), then the primary interaction: paste a source paragraph → click Submit → AI rewrite renders in the right pane in seconds. Worked first try, no rate limits, no signup wall. Pricing page is reachable but anonymous users can use the rewriter unconditionally — the paid tier appears to unlock the 'Open in Editor' workflow plus higher-tier models.

Highlights
  • Free tier is the actual product surface
    After 6 indie SaaS this week where the free promise lives behind an auth gate (LLMFY, Kreuzberg, VitalTrends) or breaks (Envoice CORS), revise.io's 'use the tool right now, no card, no email' approach is the cleanest evaluator UX of the cohort. Pricing page exists but feels secondary — the product sells itself.
  • Split-pane editor with active model picker
    Source on the left, revised version on the right, GPT 5.4 model selector visible, prompt textarea pre-loaded with a default. The interaction model isn't a chat — it's a transformation. That clarity matters for evaluators trying to predict outcomes before clicking Submit.
  • Prompt library on the same page
    Below the editor sits a prompt directory: Editing (Proofread, Email, Concise, Summarize, Bullet Points, Explain like I'm 5, Executive Summary, tl;dr, LinkedIn), Tone (Professional, Casual, Assertive, Friendly, Formal, Confident, Empathetic, Persuasive), Translation. Visitor sees the breadth of use cases without scrolling through marketing copy.
  • Submit triggers on content present, not click-only
    The Submit button only appears once the source-text input has content. Pre-input state shows a clean, focused editor with the prompt visible. Small but smart — removes 'why is this button disabled?' friction.
Friction points
  • Prompt textarea and source-text input are visually similar but semantically different
    Both are text-entry surfaces but one (textarea, top-left) is the PROMPT and the other (contenteditable div, main pane) is the SOURCE TEXT. Their visual treatment is similar enough that a first-time visitor might paste source text into the prompt field by accident. Subtle border / label-weight differentiation would clarify the hierarchy.
  • No visible char/token count on source input
    Free tier likely has a max length but nothing surfaces it until the limit is hit. Adding a small character counter (e.g. '247 / 4000 chars') below the source pane would set expectations for power users who want to chunk large documents.
  • 'GPT 5.4' model label is opaque
    Visitors might wonder: GPT-5? GPT-4.5? Custom? A tooltip on hover ('GPT-5.4 — OpenAI's fastest model, best for short rewrites') would resolve curiosity without cluttering the surface.

2 visual changes

Step 84,809 px changed
Before
Before
After
After
Diff
Diff
Step 94,809 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,579 test runs recorded · 1,174 products tested with Lastest

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