Recording of the visual regression run on credhill.in · CredHill — app walkthrough.

In this video· click a step to jump to it

C
Passed ✓

Test recording

CredHill — app walkthrough

68,908 ms · 0 pixels changed · matches baseline

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

Take this test with you

This is a real Playwright test, recorded against credhill.in. 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.goto(baseUrl + '/dashboard', { waitUntil: 'domcontentloaded' });
  await page.getByRole('link', { name: /Item Master/i }).first().waitFor({ state: 'visible', timeout: 25000 });
  await page.waitForTimeout(2500);
  await page.screenshot({ path: shot(1, 'dashboard'), fullPage: true });
  await page.goto(baseUrl + '/clients', { waitUntil: 'domcontentloaded' });
  await page.getByText('Northline Retail Pvt Ltd').first().waitFor({ state: 'visible', timeout: 20000 });
  await page.waitForTimeout(1200);
  await page.screenshot({ path: shot(2, 'clients'), fullPage: true });
  await page.goto(baseUrl + '/item_master', { waitUntil: 'domcontentloaded' });
  await page.getByText('Annual QA automation licence').first().waitFor({ state: 'visible', timeout: 20000 });
+36 more lines — claim the test to get the full code.

Checks run

Run
✓
Visual
✓
Text
—
DOM
✓
Network
+50 −50
Console
✓
A11y
A
Perf
580 over
URL
✓
Variables
—
Full report
Log in →
0
Diff px
1m 09s
Duration
A
Accessible
WCAG 2.2 · 93
Review
Fast
Web Vitals

Notes from the demo run

AI-generated

We used CredHill as a new Indian business would: signed in with Google, filled the company profile, added a client and an item, then built a real GST invoice for 3 licences at Rs 48,000 and previewed it. The invoice builder is the best part. It picked CGST plus SGST automatically from the two GSTINs, split 12,960 each and spelled the total out in words without being asked. The flagship feature on your landing page is the one thing that did not run for us.

Highlights
  • Tax type decided from the GSTINs
    Both parties are 27 (Maharashtra), so it chose CGST + SGST (intra-state) and labelled it auto from GSTIN. That is the exact decision people get wrong by hand.
  • Total in words, unprompted
    ONE LAKH SIXTY NINE THOUSAND NINE HUNDRED TWENTY RUPEES ONLY printed itself on the preview. Small thing, and it is what makes the document look filed rather than generated.
  • Client and item are entered once
    After one client and one item the whole invoice was two dropdowns, a quantity and a rate. The second invoice is genuinely seconds.
Friction points
  • AI Autofill returns 503
    Draft it with AI on /create_invoice posts to /api/parse-invoice and gets a 503, with no message on screen. The prompt just sits there and nothing fills in. It is the headline on your landing page and in the sidebar, so a visitor trying it first will conclude the product is broken. Even a 'the drafter is busy, fill it in manually' toast would save that visit.
  • The profile form looks editable but is not
    /profile renders the company fields as inputs that are disabled until you press Edit. We tried to type into Your Company Name and nothing happened, with no hint that Edit was the unlock.

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 credhill.in — 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.