test(launch): capture existing public homepage baseline

This commit is contained in:
cesnimda
2026-11-09 22:56:22 +01:00
parent 0bb7226725
commit bd34a3504f
24 changed files with 10359 additions and 10 deletions
@@ -34,6 +34,7 @@ Owner correction: 3 November 2026. This register extends IM10 and the original 3
| V24 | Calendar workflow | Scheduling updates reminder card but leaves adjacent agenda stale | RESOLVED inc0ef4171;23 native cases and8 configurations/48 connected states passed,16 intercepted status/date writes | Refresh only after committed follow-up change; preserve selected month/view; backend/provider/timezone/native/owner acceptance remains separate |
| V25 | Audit table timestamp | Tablet Bokmål capture wraps both the column heading and timestamp inside words | RESOLVED in `2dc8fe4c` | All six columns and locale formatting retained. Final fixture row stays compact. See [Audit date review](AUDIT_DATE_REVIEW.md) |
| V26 | Embedded Gmail review counts | One thread/suggestion renders “1 candidate threads” and “1 suggested jobs” | RESOLVED in `e8e7d839` | EN/NB singular cases, zero/plural and live language switching verified. See [review count wording](MAIL_REVIEW_COUNTS.md) |
| V27 | Public homepage baseline | Earlier mockups, missing landmarks and crawlable locale content, anonymous preference request rejected | OPEN in LAUNCH-SITE-01 | [Rendered baseline](LANDING_BASELINE_REVIEW.md) captures mobile, tablet and desktop without choosing a launch design |
The owner-approved design foundation remains original A1 dashboard, D1 visual system, B1 tracking, editor left / preview right, application context right, desktop sidebar and hybrid mobile navigation. No controls, imports, revisions, permissions or provider rights may be removed to obtain visual simplicity.
@@ -0,0 +1,16 @@
# Public homepage baseline
Reviewed the existing anonymous landing page on built runtime `e8e7d83958587e8b5a4b93d03d3e736896df5a48`. No final launch design was selected or implemented. This is the public root disposition for A3 and input to the separate LAUNCH-SITE-01 workstream.
12 controlled navigation journeys passed at 320, 768 and 1440 px, EN/NB and light/dark. Language switched locally, the features anchor worked from the keyboard, and sign-in and free registration opened their existing routes without submission. All three SVGs loaded in all 12 captures. No page overflow, page exception or unexpected request occurred. The audit intercepted and rejected 24 authenticated-preference requests triggered by anonymous language switching. No preference was persisted server-side.
## Findings
- All 12 captures reported two axe best-practice rules for missing main/content landmarks. This audit does not pass accessibility acceptance. Native screen-reader and device checks remain open.
- The raw static response contains the generic English title and description, but no rendered hero heading, canonical link or locale alternates. Runtime UI copy requires client rendering. Treat crawlable locale HTML and metadata as launch work.
- The current preview images show the earlier product styling and a technology-stack line occupies hero space. Replace these with approved, representative screenshots and user-facing content during the launch work. The existing dashboard SVG contains a non-fixture email address. The audit substitutes a synthetic address for its screenshots and leaves the application source unchanged.
- Anonymous language switching tries the authenticated preference writer. The existing public-auth screens have a local-only choice. Record this as a focused candidate for the landing implementation.
[Navigation and audit data](evidence/landing-baseline/BROWSER.json) · [Desktop capture](evidence/landing-baseline/landing-en-light-1440.png) · [Tablet capture](evidence/landing-baseline/landing-nb-light-768.png) · [Phone capture](evidence/landing-baseline/landing-nb-dark-320.png)
The earlier design-neutral launch contract at `af8c48ce` still controls the launch design and claims. Provider access, billing, production SEO results and launch approval remain separate.
File diff suppressed because it is too large Load Diff
@@ -28,9 +28,10 @@
"Navigate",
"LandingPage"
],
"visualStatus": "PENDING_RENDERED_REVIEW",
"afterStatus": "NOT RUN",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion"
"visualStatus": "BASELINE_RENDERED_AUDIT_LAUNCH_DESIGN_OPEN",
"afterStatus": "AUDITED:12 existing public states; navigation passed and landmark/SEO findings remain open",
"functionalCriteria": "Original preservation register retained; no capability acceptance promotion",
"evidence": "LANDING_BASELINE_REVIEW.md; evidence/landing-baseline/BROWSER.json"
},
{
"route": "/dashboard",
@@ -391,7 +392,7 @@
"Empty/error/permission states; populated detail/filter/keyboard synthetic qualification passed; see ADMIN_REVIEW.md for remaining limits"
],
"/": [
"Launch appearance and claims protected decisions remain separate"
"V27 landmarks, crawlable locale content, preview assets and anonymous preference request; launch design and claims gates remain separate"
]
},
"remainingConnectedJourneys": [
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,638 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "landing-baseline",
"layout": {
"pageOverflow": false,
"landmarks": [],
"mockups": [
{
"src": "/mockups/dashboard.svg",
"loaded": true
},
{
"src": "/mockups/pipeline.svg",
"loaded": true
},
{
"src": "/mockups/workspace.svg",
"loaded": true
}
]
},
"violations": [
{
"id": "landmark-one-main",
"impact": "moderate",
"tags": [
"cat.semantics",
"best-practice"
],
"description": "Ensure the document has a main landmark",
"help": "Document should have one main landmark",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.13/landmark-one-main?application=playwright",
"nodes": [
{
"any": [],
"all": [
{
"id": "page-has-main",
"data": null,
"relatedNodes": [],
"impact": "moderate",
"message": "Document does not have a main landmark"
}
],
"none": [],
"impact": "moderate",
"html": "<html lang=\"en\" data-color-scheme=\"light\" style=\"color-scheme: light;\">",
"target": [
"html"
],
"failureSummary": "Fix all of the following:\n Document does not have a main landmark"
}
]
},
{
"id": "region",
"impact": "moderate",
"tags": [
"cat.keyboard",
"best-practice",
"RGAAv4",
"RGAA-9.2.1"
],
"description": "Ensure all page content is contained by landmarks",
"help": "All page content should be contained by landmarks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.13/region?application=playwright",
"nodes": [
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiStack-root css-7pd5ks\"><div class=\"MuiBox-root css-sthsme\">✓</div><p class=\"MuiTypography-root MuiTypography-body1 css-1f7ulc0\">Jobbjakt</p></div>",
"target": [
".css-7pd5ks"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div role=\"group\" class=\"MuiButtonGroup-root MuiButtonGroup-outlined MuiButtonGroup-horizontal MuiButtonGroup-colorPrimary css-16i01hf\" aria-label=\"Application language\">",
"target": [
".MuiButtonGroup-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-1fztxxc\">AI-ASSISTED JOB SEARCH WORKSPACE</div>",
"target": [
".css-1fztxxc"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<h1 class=\"MuiTypography-root MuiTypography-body1 css-1gpbj63\">Run your job search without losing <span class=\"MuiBox-root css-1n4n1k3\">the thread</span>.</h1>",
"target": [
"h1"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-12aj675\">Import a role, tailor your CV, track every application, and keep recruiter correspondence tied to the right job — all in one focused workspace. Assistive, never autonomous: you approve every draft.</p>",
"target": [
".css-12aj675"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-18p8nak\">React · TypeScript · ASP.NET Core · EF Core · FastAPI AI · Gmail</p>",
"target": [
".css-18p8nak"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiContainer-root MuiContainer-maxWidthLg css-1xnnn57\">",
"target": [
".css-1xnnn57"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-zzfa07\">",
"target": [
"#features > .css-zzfa07.MuiBox-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Centralized pipeline</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(1) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Track every application across Applied, Waiting, Interview, Offer, Rejected and Ghosted — drag to update.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(1) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Smart follow-ups</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(2) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Reminders surface what needs attention next; Pro can help draft a response for you to review.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(2) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Honest CV match</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(3) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">A deterministic keyword-coverage score with matched vs missing skills — not an opaque black box.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(3) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Email correspondence</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(4) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Keep linked Gmail and Microsoft messages in the context of the right application.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(4) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Attachments &amp; docs</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(5) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Keep resumes, cover letters and portfolios versioned per application, right where you need them.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(5) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Dashboard &amp; insights</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(6) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Response rates, funnel, time-in-stage and skill demand across your whole search.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(6) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-1r4kqnw\">",
"target": [
".css-1r4kqnw"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-zzfa07\">",
"target": [
"#plans > .css-zzfa07.MuiBox-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-11grjeb\">Commercial terms appear only in configured checkout. Your applications, documents and exports remain accessible if your plan changes.</p>",
"target": [
".css-11grjeb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-0\"><p class=\"MuiTypography-root MuiTypography-body1 css-1tsmptg\">Ready to organize your search?</p><p class=\"MuiTypography-root MuiTypography-body1 css-1mzptek\">Sign in to start tracking applications, tailoring CVs, and following up with intent.</p></div>",
"target": [
".css-0"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1qflj82\">© 2026 Jobbjakt — a focused workspace for the modern job search.</p>",
"target": [
".css-1qflj82"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
}
]
}
]
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"publicLanguageSwitch": "PASS",
"featuresAnchorAndAuthNavigation": "PASS",
"submissions": "NOT RUN"
}
],
"confirmations": [],
"signIns": [],
"challenges": [],
"unexpectedWrites": [
"/api/auth/preferences/language",
"/api/auth/preferences/language"
],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"errors": [],
"rawHtml": {
"language": "en",
"title": "Jobbjakt",
"description": "Jobbjakt — track and manage job applications",
"canonical": null,
"alternateLanguages": [],
"headings": []
},
"limits": [
"Every API response is intercepted; no real account, password, email delivery, verification, MFA or provider activation.",
"Synthetic confirmation tokens and challenge values cannot qualify server-side token, rate-limit or authentication enforcement.",
"No native/human, integrated security, release or production qualification."
]
}
@@ -0,0 +1,649 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "landing-baseline",
"layout": {
"pageOverflow": false,
"landmarks": [],
"mockups": [
{
"src": "/mockups/dashboard.svg",
"loaded": true
},
{
"src": "/mockups/pipeline.svg",
"loaded": true
},
{
"src": "/mockups/workspace.svg",
"loaded": true
}
]
},
"violations": [
{
"id": "landmark-one-main",
"impact": "moderate",
"tags": [
"cat.semantics",
"best-practice"
],
"description": "Ensure the document has a main landmark",
"help": "Document should have one main landmark",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.13/landmark-one-main?application=playwright",
"nodes": [
{
"any": [],
"all": [
{
"id": "page-has-main",
"data": null,
"relatedNodes": [],
"impact": "moderate",
"message": "Document does not have a main landmark"
}
],
"none": [],
"impact": "moderate",
"html": "<html lang=\"en\" data-color-scheme=\"light\" style=\"color-scheme: light;\">",
"target": [
"html"
],
"failureSummary": "Fix all of the following:\n Document does not have a main landmark"
}
]
},
{
"id": "region",
"impact": "moderate",
"tags": [
"cat.keyboard",
"best-practice",
"RGAAv4",
"RGAA-9.2.1"
],
"description": "Ensure all page content is contained by landmarks",
"help": "All page content should be contained by landmarks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.13/region?application=playwright",
"nodes": [
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiStack-root css-7pd5ks\"><div class=\"MuiBox-root css-sthsme\">✓</div><p class=\"MuiTypography-root MuiTypography-body1 css-1f7ulc0\">Jobbjakt</p></div>",
"target": [
".css-7pd5ks"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div role=\"group\" class=\"MuiButtonGroup-root MuiButtonGroup-outlined MuiButtonGroup-horizontal MuiButtonGroup-colorPrimary css-16i01hf\" aria-label=\"Application language\">",
"target": [
".MuiButtonGroup-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-1fztxxc\">AI-ASSISTED JOB SEARCH WORKSPACE</div>",
"target": [
".css-1fztxxc"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<h1 class=\"MuiTypography-root MuiTypography-body1 css-1gpbj63\">Run your job search without losing <span class=\"MuiBox-root css-1n4n1k3\">the thread</span>.</h1>",
"target": [
"h1"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-12aj675\">Import a role, tailor your CV, track every application, and keep recruiter correspondence tied to the right job — all in one focused workspace. Assistive, never autonomous: you approve every draft.</p>",
"target": [
".css-12aj675"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-18p8nak\">React · TypeScript · ASP.NET Core · EF Core · FastAPI AI · Gmail</p>",
"target": [
".css-18p8nak"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiContainer-root MuiContainer-maxWidthLg css-1xnnn57\">",
"target": [
".css-1xnnn57"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-zzfa07\">",
"target": [
"#features > .css-zzfa07.MuiBox-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Centralized pipeline</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(1) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Track every application across Applied, Waiting, Interview, Offer, Rejected and Ghosted — drag to update.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(1) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Smart follow-ups</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(2) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Reminders surface what needs attention next; Pro can help draft a response for you to review.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(2) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Honest CV match</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(3) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">A deterministic keyword-coverage score with matched vs missing skills — not an opaque black box.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(3) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Email correspondence</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(4) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Keep linked Gmail and Microsoft messages in the context of the right application.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(4) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Attachments &amp; docs</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(5) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Keep resumes, cover letters and portfolios versioned per application, right where you need them.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(5) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-17q0q9s\">Dashboard &amp; insights</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(6) > .css-17q0q9s"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1u2lnyb\">Response rates, funnel, time-in-stage and skill demand across your whole search.</p>",
"target": [
".css-kb1qoo.MuiBox-root:nth-child(6) > .css-1u2lnyb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-1r4kqnw\">",
"target": [
".css-1r4kqnw"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-zzfa07\">",
"target": [
"#plans > .css-zzfa07.MuiBox-root"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-11grjeb\">Commercial terms appear only in configured checkout. Your applications, documents and exports remain accessible if your plan changes.</p>",
"target": [
".css-11grjeb"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<div class=\"MuiBox-root css-0\"><p class=\"MuiTypography-root MuiTypography-body1 css-1tsmptg\">Ready to organize your search?</p><p class=\"MuiTypography-root MuiTypography-body1 css-1mzptek\">Sign in to start tracking applications, tailoring CVs, and following up with intent.</p></div>",
"target": [
".css-0"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
},
{
"any": [
{
"id": "region",
"data": {
"isIframe": false
},
"relatedNodes": [],
"impact": "moderate",
"message": "Some page content is not contained by landmarks"
}
],
"all": [],
"none": [],
"impact": "moderate",
"html": "<p class=\"MuiTypography-root MuiTypography-body1 css-1qflj82\">© 2026 Jobbjakt — a focused workspace for the modern job search.</p>",
"target": [
".css-1qflj82"
],
"failureSummary": "Fix any of the following:\n Some page content is not contained by landmarks"
}
]
}
]
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"publicLanguageSwitch": "PASS",
"featuresAnchorAndAuthNavigation": "PASS",
"submissions": "NOT RUN"
}
],
"confirmations": [],
"signIns": [],
"challenges": [],
"preferenceDenials": [
{
"width": 320,
"language": "en",
"mode": "light",
"preference": "nb-NO"
},
{
"width": 320,
"language": "en",
"mode": "light",
"preference": "en"
}
],
"unexpectedWrites": [],
"unavailableReads": [],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"errors": [],
"rawHtml": {
"language": "en",
"title": "Jobbjakt",
"description": "Jobbjakt — track and manage job applications",
"canonical": null,
"alternateLanguages": [],
"headings": []
},
"limits": [
"Every API response is intercepted; no real account, password, email delivery, verification, MFA or provider activation.",
"Synthetic confirmation tokens and challenge values cannot qualify server-side token, rate-limit or authentication enforcement.",
"No native/human, integrated security, release or production qualification."
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 837 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

@@ -22,7 +22,7 @@ body{margin:24px;font:16px/1.5 system-ui,sans-serif;color:#302744;background:#f5
<figure><figcaption id="reference-caption">Approved A3 reference · English/light</figcaption><a id="reference-link"><img id="reference" alt=""></a></figure>
<figure><figcaption>Real application · controlled fixtures</figcaption><a id="actual-link"><img id="actual" alt=""></a></figure>
</main>
<p><a href="comparison.html">Earlier CV comparison</a> · <a href="ROUTE_COVERAGE.json">All34 route dispositions</a> · <a href="DISCREPANCIES.md">Discrepancy register</a> · <a href="APPROVED_REFERENCE_MANIFEST.json">Frozen reference hashes</a></p>
<p><a href="comparison.html">Earlier CV comparison</a> · <a href="ROUTE_COVERAGE.json">All34 route dispositions</a> · <a href="DISCREPANCIES.md">Discrepancy register</a> · <a href="APPROVED_REFERENCE_MANIFEST.json">Frozen reference hashes</a> · <a href="LANDING_BASELINE_REVIEW.md">Public homepage baseline</a></p>
<script>
const screens = [
{name:'Dashboard',reference:'dashboard',folder:'dashboard',state:'dashboard',source:'a7d72673',scope:'Default density partially improved; saved geometry and all widgets retained. Full A3 visual parity remains open.'},