← Back to Portfolio

QA Wolf Technical Assessment

Take-home technical assessment for QA Wolf's hiring process — applications screened on submitted projects, no resume required. Built a Hacker News sort validator with Node.js + Playwright. Reached the paid final round (AUD $220) and completed a live Playwright assessment in QA Wolf's platform.

Test Automation Web Scraping CLI Tool
Watch Demo View Code
Final Round
Stage Reached
AUD $220
Paid Assessment
No Resume
Project-Only Screening
Jan 2026
Date

Hiring Outcome

Reached the final round of QA Wolf's hiring process — a paid live Playwright assessment (AUD $220) in QA Wolf's own platform, January 21, 2026.

How QA Wolf Hires

QA Wolf's process is entirely project-based — no resume required at any stage. Candidates submit their existing projects and are evaluated purely on the quality of their work. Passing the take-home moves you to a final live coding round in QA Wolf's platform where you write automated tests in real time.

Timeline

  • Submitted projects — application screened on GitHub work, no resume
  • Take-home assessment — built this Hacker News validator in Node.js + Playwright
  • Jan 16, 2026 — received final round invitation (email on file)
  • Jan 21, 2026 — completed paid live Playwright assessment (AUD $220) in QA Wolf's platform

Jump to Section

Demo Video

Project Overview

Submitted as a take-home technical assessment for QA Wolf — a company that screens candidates on submitted projects alone, with no resume required at any stage. This tool scrapes the first 100 articles from Hacker News/newest and validates they are sorted newest-to-oldest by timestamp, reporting any out-of-order articles with detailed context.

  • Multi-page Playwright navigation across paginated results
  • Timestamp parsing and strict ordering validation
  • Configurable CLI flags for article count, titles to display, verbose output
  • Built-in error injection mode to verify the validator itself
  • Robust handling of malformed timestamps, pagination errors, and network issues

Technology Stack

Node.js

JavaScript runtime for the CLI and scraper

Playwright

Browser automation for scraping and tests

JavaScript ES6+

Async/await, modules, destructuring

@playwright/test

Built-in test runner

Key Features

Playwright Scraping

Multi-page navigation with dynamic content extraction.

Sort Validation

ISO timestamp parsing with precise out-of-order detection.

CLI Interface

Flags, defaults, and built-in help documentation.

Modular Architecture

CLI parser, validator, logger, result handler, and debug utilities split into focused modules.

Error Injection

Test mode that intentionally breaks the data to verify the validator catches it.

Resilient Errors

Graceful handling of pagination failures, bad timestamps, and network hiccups.

Usage

# Fetch and validate 100 articles
node index.js

# Show first 5 article titles
node index.js 100 5

# Verbose output
node index.js 100 5 --verbose

# Test mode with intentional sorting errors
node index.js 100 0 --test-error

# Help
node index.js --help

Testing

Run the suite with npx playwright test:

  • CLI parser tests — argument parsing, defaults, flag handling
  • Validator tests — timestamp parsing and edge cases
  • Result tests — Result class methods and error reporting
  • Integration tests — end-to-end workflow
  • Test-error tests — confirms intentional error injection works