Inspiration

An Arabic user types their real name — عبد الرحمن — into a signup form and gets "Only English letters are allowed." They don't report a bug. They just leave, and the company never finds out. Raw inputs accept every language by default; it's the validation teams add that silently locks 400M+ Arabic speakers out.

This tool grew out of a real freelance service I run, auditing products for Arabic-market readiness. Build Week was the chance to automate it.

What it does

Give it a URL. It runs a real browser twice — an en-US English control and an Arabic market persona (Saudi Arabia or UAE) — filling the same form with realistic values: Arabic names, +966 phone numbers, Arabic-Indic numerals.

  • English accepted + Arabic rejected → market-specific blocker
  • Both rejected → general form issue (honestly labeled — never inflated into an "Arabic problem")
  • Both accepted → pass

Every finding ships with evidence: screenshots, the DOM locator, the exact error message — and a one-click Playwright regression test grounded in the page's real DOM.

How we built it

Codex built, tested, secured, and deployed the product across the week: React → rate-limited Express → URL safety gate → isolated Playwright browser → DOM extractor → GPT-5.6 planner → evidence verifier → grounded test generator.

GPT-5.6 is the adaptive planning brain used during every audit. It reads the extracted DOM and plans each action — and when it discovers a new form step mid-run, the plan grows live (you can watch the step counter jump from 8 to 11). Without it, the deterministic fallback maps 0 of 2 unconventional fields and fails honestly, telling you why. That contrast is in the video.

Challenges we ran into

  • A silent fallback: a timeout aborted the GPT planner and the system quietly degraded. Fixed with proper timeouts and a mandatory, visible fallbackReason on every run.
  • Honest verdicts: our first external finding (a broken phone field) also failed the English control. The tool now refuses to call that a market blocker — it reports "General form issue" instead.
  • Ethics: the agent never submits real companies' forms. External audits are fill-and-observe only, enforced server-side.

Accomplishments we're proud of

  • Precision/recall 1.0 on our seeded benchmark (2 ground-truth blockers)
  • Verified against real external sites — including refusing a false positive on LambdaTest's demo store
  • Adding a new market is one JSON file: the UAE pack was added in under an hour
  • 21/21 tests passing, MIT licensed, live and reproducible

What's next

Two axes: more markets (each is a data file — Egypt, Morocco next) and more flows (checkout after signup). The pipeline is flow-agnostic.

Built With

Share this project:

Updates