In this video· click a step to jump to it
Test recording
Askio — app walkthrough
56,917 ms · 4,259 pixels changed
We built this regression test for askio.cloud — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against askio.cloud. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const CFG = {"appEntry":"/dashboard","publicMaxNav":0,"fullPage":true,"steps":[{"goto":"/dashboard","dismiss":true,"waitMs":2800,"label":"infra-command-center"},{"fill":[{"sel":"textarea","value":"Create a small nginx server in the Frankfurt region and add it to monitoring"}],"submit":"Send","waitMs":5000,"label":"ai-plain-english-command"},{"goto":"/servers","waitMs":2600,"label":"servers-inventory"},{"goto":"/operations","waitMs":2600,"label":"operations-approvals"},{"goto":"/monitors","waitMs":2600,"label":"monitoring"},{"goto":"/billing","waitMs":2500,"label":"billing-credits"},{"goto":"/settings","waitMs":2500,"label":"settings"},{"goto":"/dashboard","waitMs":2200,"label":"dashboard-overview"}]};
const shot = function(i, s){ return screenshotPath.replace('.png', '-' + i + '-' + s + '.png'); };
page.setDefaultTimeout(6000);
// single combined noise-abort route (1 action instead of ~10)
await page.route(function(u){ return /sentry|segment\.com|googletagmanager|google-analytics|hotjar|posthog|connect\.facebook|cdn-cgi\/scripts/.test(u.toString()); }, function(r){ r.abort().catch(function(){}); }).catch(function(){});
let n = 1;
const FP = CFG.fullPage !== false;
const GOTO = 11000;
const wait = function(ms){ return page.waitForTimeout(ms||500); };
const dismiss = async function(){ const d = page.getByRole('button', { name: /skip|dismiss|maybe later|not now|got it|close|no thanks|continue|get started/i }).first(); if (await d.isVisible().catch(function(){return false;})) { await d.click({ timeout:2000 }).catch(function(){}); await wait(400); } };
const clickByText = function(src){ return page.evaluate(function(s){Checks run
Notes from the demo run
AI-generatedAskio is an AI infrastructure command center: a natural-language box ('Ask me to create a DigitalOcean instance') sits on top of a real ops console with Servers, Operations (with an approvals flow), Monitoring, Billing and Settings. Signup is email + password with a 6-digit email verification code, after which the dashboard greets you by name with an AI-credits balance.
- Plain-English opsThe hero promise ("operate your infrastructure in plain English") is delivered literally — the dashboard leads with a command textarea rather than a form maze.
- Approvals built inOperations surfaces Approve/Reject and a "send to approvals" flow, signalling this is built for teams and AI agents acting with guardrails, not just a solo console.
- Coherent multi-route consoleServers / Operations / Monitors / Billing / Settings are all real, consistent routes behind one nav.
- Google OAuth redirect_uri mismatchContinue-with-Google throws Google's "Access blocked: this app's request is invalid" (redirect_uri mismatch against the Supabase callback). Email signup works, but the Google path is currently broken for new users — a high-value launch-window fix.
- Verify gate lives only in the signup sessionThe 6-digit verification screen is only reachable in the same session that registered; reloading bounces to /auth, so a user who closes the tab mid-signup cannot easily resume verification.
2 visual changes
Share this run
Proof your app is not AI slop
This test was built for askio.cloud — 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.





