VALIDATION LAB

Interactive QA playground built to showcase automation, testing strategy, debugging mindset, and production-quality engineering.

Built like a modern SaaS for recruiters, hiring managers, and engineers — not a tutorial site.

Crafted for hakdogan.com · ships to lab.hakdogan.com

Run automation tests

Playwright-ready scenarios

Click a card to inspect the spec, then run the animated trace. Left pane is copy-pasteable; right pane mimics headed execution; bottom stream mirrors CI logs.

Login Test

import { test, expect } from '@playwright/test';

test('demo login happy path', async ({ page }) => {
  await page.goto('https://lab.hakdogan.com/login');
  await page.getByRole('button', { name: /use demo account/i }).click();
  await page.getByRole('button', { name: /sign in/i }).click();
  await expect(page.getByText(/welcome, hasan/i)).toBeVisible();
});
playwright —headed —project=chromium
1.Load /login
2.Apply demo preset
3.Submit credentials
4.Dashboard welcome

Idle — run trace to animate the browser timeline.

Console

awaiting run…

API mocking lab

Shape responses before they hit your UI

Inspired by the Playwright network sandbox: flip behaviors and watch the wallet tile react — no remote server required.

await page.route('**/api/ledger/balance', async (route) => {
  await route.continue();
});

Wallet service (mocked)

$2,840.55

live fixture

The UI on the right mirrors what recruiters see in code review: deterministic data, explicit failures, and timing under control.

Why this exists

Most portfolios say “I know testing.” This lab proves it.

Recruiters skim bullet points. Hiring managers remember products. Validation Lab is a product-shaped argument for ownership across automation, tooling, and customer-grade experience.

Realistic product flows

Auth → dashboard → money movement mirrors how quality shows up on real roadmaps.

Automation-ready scenarios

Stable roles, data-test hooks, and chaos toggles map directly to Playwright projects.

CI-minded engineering

Build widgets, pass-rate trends, and log streams echo what you ship in pipelines.

Debugging ownership

Inject latency, 500s, flaky modals, and session expiry — practice triage with intent.

UX + quality mindset

Glass UI, motion, and accessibility affordances prove polish isn’t divorced from QA.