In this video· click a step to jump to it
Test recording
hukt — app walkthrough
70,140 ms · 27,122 pixels changed
We built this regression test for hukt.ai — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against hukt.ai. 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":"command-center"},{"goto":"/dashboard/content-calendar","waitMs":2200,"label":"marketing-calendar"},{"goto":"/dashboard/campaigns","waitMs":2000,"label":"campaigns"},{"goto":"/dashboard/content-hub","waitMs":2000,"label":"content-hub"},{"goto":"/dashboard/channels","waitMs":2000,"label":"channels"},{"goto":"/dashboard/company/branding","waitMs":2000,"label":"brand-voice"},{"goto":"/dashboard/analytics/general","waitMs":2000,"label":"analytics-general"},{"goto":"/dashboard/analytics/audience","waitMs":2000,"label":"analytics-audience"},{"goto":"/dashboard/team/members","waitMs":1800,"label":"team-members"},{"goto":"/dashboard/settings","waitMs":1800,"label":"settings"}]};
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-generatedHukt is an AI marketing-ops cockpit — 'launch marketing campaigns in minutes, not days.' The authenticated Command Center greets you by name with a 'Your Mission' nudge, Quick Actions (Create Post / Image / Video / Campaign / RSS) and an AI Insights panel, backed by a deep left rail: Marketing (Calendar, Campaigns, Content, Channels), Company (About, Branding, Team), Analytics (General, Content, Audience) and Settings — a dozen real routes.
- Broad, well-organised marketing IACalendar → Campaigns → Content → Channels plus a Brand-voice section and three analytics views map to a real content-marketing workflow rather than a single-trick tool.
- Quick Actions make the first move obviousA 'What do you want to do?' bar with Create Post/Image/Video/Campaign tiles means a new user isn't staring at a blank dashboard wondering where to start.
- Personalised, mission-driven first run'Good morning, Viktor Lastest! — complete your company profile to generate your mission statement' gives the empty account a clear next step.
- AI generation is gated behind a planA persistent 'No active plan — Subscribe to start using AI credits' bar means the headline feature (AI content generation) can't be exercised on a fresh account; the surrounding workspace is fully browsable, but the actual 'magic' needs a card.
- Lots of empty modules on first loadAI Insights, Campaigns and Analytics all open on 'no data / generate to begin' states — a seeded sample campaign would sell the product harder.
Visual change
Share this run
Proof your app is not AI slop
This test was built for hukt.ai — 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.


