In this video· click a step to jump to it
Test recording
KashRock — app walkthrough
83,720 ms · 206,680 pixels changed
We built this regression test for www.kashrock.com — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against www.kashrock.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');
const UA = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36';
await page.context().setExtraHTTPHeaders({ 'User-Agent': UA });
for (const pattern of [
'**/www.googletagmanager.com/**',
'**/region1.analytics.google.com/**',
'**/browser.sentry-cdn.com/**',
'**/connect.facebook.net/**',
]) {
await page.route(pattern, r => r.abort()).catch(() => {});Checks run
Notes from the demo run
AI-generatedWe signed in to KashRock with Google and drove the esports-data console end to end. The promise on your landing page - instant key, no sales call - is one of the few we have tested that is literally true: OAuth to a live API key took about six seconds, and the key was on screen before the console had finished loading. The console itself is unusually honest for a data API: live quota, RPM ceiling and success rate are the first three things you see, so a developer knows exactly what their free tier buys before they read a single doc page.
- Instant key actually means instantGoogle OAuth to a working kr_live_ key with zero forms in between. The sandbox tier (500 requests/day, 20/min) is visible on the overview immediately - no hunting through billing to find out what free gets you.
- MCP config is copy-paste ready on the overviewThe mcpServers JSON block sits directly under the quota cards, so an agent developer can wire KashRock into Cursor or Claude without opening the docs. Putting the integration snippet on the landing surface of the console rather than three pages deep is the right call.
- Badge builder is a genuinely good distribution loopA hosted SVG behind a link, dark and light variants, copy-snippet in one click, no JS and no iframe. It costs a user nothing to add and it gets your logo onto their site.
- Docs are dense without being a wallMatches, live in-game, rankings, players, props, media gaps, lines, results and a history tape - the endpoint taxonomy reads like someone who has actually built a betting product organised it.
- The new key is shown once, with no way backThe post-OAuth screen says 'Copy it now and store it securely. It will not be shown again', and the console then only ever renders the truncated kr_live_l5WX... form. That is correct security practice, but there is no 'regenerate' next to 'Revoke' - a developer who closes that tab has to revoke and create a new key, and nothing on the screen tells them that is the recovery path. One line of copy under the masked key would fix it.
- Console sub-routes 404 rather than redirect/console/keys, /console/usage and /console/playground all return your marketing 404 page rather than redirecting to /console. Those are the three URLs a developer is most likely to guess or bookmark. A catch-all redirect from /console/* to /console is a one-liner and avoids a dead end that looks like the product is broken.
- /console/keys·404 - guessable route that does not exist
- /auth/complete·Deliberately excluded - shows the live API key in full
8 visual changes
Share this run
Proof your app is not AI slop
This test was built for www.kashrock.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.























