In this video· click a step to jump to it
Test recording
Global signup — nav to form, fill step 1, advance to step 2
26,542 ms · 0 pixels changed · matches baseline
We built this regression test for decentro.tech — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against decentro.tech. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
// Signup flow for decentro.tech Global (https://decentro.tech/global).
//
// Deliberately stops BEFORE the final "Signup" POST: this is a real
// lead-generation form wired to Decentro's sales workflow, so submitting
// would create a live lead on every run. The test covers everything up to
// and including the step 1 -> step 2 transition.
const API_HOST = 'workflow.decentro.tech';
const SIGNUP_PATH = '/global/signup';
const shot = (n, slug) => screenshotPath.replace('.png', `-${n}-${slug}.png`);
Checks run
Notes from the demo run
AI-generatedThe Decentro Global marketing site is polished — clean hero, live FX quote widget, and a short two-step signup that asks for only four fields. But the signup form at /global/signup is currently unusable: it opens a blocking "Something went wrong, please try again later" modal on load, and the phone-number country dropdown behind it renders zero options, so "Next" never enables. Every visitor who clicks "Sign Up" in the header hits a dead end.
- Signup asks for very littleStep 1 is just first name, last name, phone and email — four fields, clearly marked mandatory, with a visible "Step 1/2" progress bar. That is a low-friction ask for a fintech onboarding form.
- Live FX quote on the heroThe homepage leads with an interactive amount-in / amount-out calculator that compares Decentro's rate against Banks and PayPal side by side. It communicates the value proposition without a single click.
- Fields carry stable IDs#first-name, #last-name, #email-input, #phone-input and #rfs-btn are all stable, semantic IDs — the form is unusually easy to automate and to instrument for analytics.
- Signup is blocked by an error modal on loadhttps://decentro.tech/global/signup opens a modal reading "Something went wrong, please try again later" before the visitor types anything — on direct load, not just via the header CTA. Cause: the page's load-time calls to https://workflow.decentro.tech/webhook/isd_signup/isd_country_list and /webhook/sg_signup/mode_list both fail. Server-side they return 403 Forbidden from nginx, including on the OPTIONS preflight, which is why the browser surfaces them as net::ERR_FAILED. Fix: restore the webhook host's access rules for those routes and re-allow the CORS preflight from the decentro.tech origin — the same host is also failing /webhook/fx/currencies, so this looks like one upstream rule, not three separate bugs.
- The failure degrades to a dead end instead of a fallbackBecause the country list never loads, the react-flags-select dropdown renders zero options, the phone field can't be completed, and "Next" stays permanently disabled — so even dismissing the modal leaves the form unusable, with no retry and no alternative path offered. Fix: ship a bundled fallback ISD country list so the form still submits when the lookup API is down, and replace the dead-end modal with an inline retry plus the [email protected] mailto as an escape hatch.
- /global/signup step 2 of 2·Unreachable — the country dropdown is empty so "Next" never enables.
- /global/signup final submit·Deliberately skipped: submitting creates a real sales lead in Decentro's workflow.
Share this run
Proof your app is not AI slop
This test was built for decentro.tech — 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.