# 08 — Pre-Launch QA Checklist

Run this before every deploy. Tick boxes only when verified in a real browser, not by reading code.

---

## A. Content accuracy

- [ ] Every project on the site exists in `documentation/00-project-inventory.md`.
- [ ] Duplicates merged; archived versions labelled.
- [ ] No project claims a platform/build that does not exist.
- [ ] Counts (`N projects`, years, languages) match the data.
- [ ] Dates are real and consistent (`2025–2026`, not "2024" in one place and "2026" in another).
- [ ] Private repositories are labelled private, with no broken public link.
- [ ] Every download points to a file or release that exists and opens.
- [ ] Version, size and date on each download match the artifact.
- [ ] No placeholder email (`example.com`), no `href="#"`, no lorem ipsum.
- [ ] Spelling: names (`Maheshwar Hari Tripathi`, `Kaushambi`, `St. Joseph's`), product names, tech names.

## B. Navigation & links

- [ ] All nav links work from root, `/work/`, and project pages.
- [ ] Wordmark returns home from every page.
- [ ] Breadcrumbs on project pages are correct.
- [ ] Previous/next project links work at both ends (wrap or disable cleanly).
- [ ] Footer links (colophon, GitHub, email) work.
- [ ] 404 page renders for a bad URL and links back to Work.
- [ ] No link opens in a new tab without `rel="noopener"`.
- [ ] External links are visually distinguishable and labelled.

## C. Responsive layout

Test at: 320, 360, 390, 480, 720, 1024, 1280, 1440, 1920.

- [ ] No horizontal scroll at 320px.
- [ ] Display type does not overflow or clip.
- [ ] Index rows stack cleanly; metadata remains readable.
- [ ] Meta tables become single-column without losing labels.
- [ ] Mobile menu opens, closes, traps focus, closes on Escape.
- [ ] Tap targets ≥ 44×44px.
- [ ] Images scale without distortion; captions wrap.
- [ ] Footer columns stack in a sensible order.

## D. Themes

- [ ] Light theme: paper/ink/accent contrast verified.
- [ ] Dark theme: no pure black; accents ≥ 4.5:1.
- [ ] Theme persists across pages and reloads.
- [ ] First visit respects `prefers-color-scheme`.
- [ ] No flash of wrong theme on load.
- [ ] Logos and portrait remain legible in both themes.
- [ ] Focus ring visible in both themes.

## E. Accessibility

- [ ] One `<h1>` per page; heading order logical.
- [ ] Landmarks: header, nav, main, footer.
- [ ] Skip link visible on first Tab.
- [ ] All interactive elements reachable and operable by keyboard.
- [ ] Focus never lost after filtering or opening/closing the menu.
- [ ] Images have meaningful `alt` (or `alt=""` if decorative).
- [ ] Colour is not the only status indicator.
- [ ] `prefers-reduced-motion` removes transforms and smooth scroll.
- [ ] Zoom 200%: no content loss.
- [ ] Screen-reader pass on Home, Work, one project page, Contact.
- [ ] `aria-current="page"` on active nav; `aria-expanded` on menu.

## F. Performance

- [ ] Lighthouse mobile: Performance ≥ 95, Accessibility ≥ 95, Best Practices ≥ 95, SEO ≥ 95.
- [ ] LCP < 2.0s on throttled 4G.
- [ ] CLS < 0.05.
- [ ] No layout shift when fonts load.
- [ ] Images lazy-loaded below the fold; hero eager.
- [ ] Fonts subset; `display=swap`; preconnect present.
- [ ] CSS < 45KB, JS < 12KB uncompressed.
- [ ] No console errors or 404s.

## G. SEO & metadata

- [ ] Unique `<title>` and meta description on every page.
- [ ] Canonical URLs correct for the deploy path/domain.
- [ ] Open Graph + Twitter card tags; OG image exists at 1200×630.
- [ ] JSON-LD validates (`Person`, `CreativeWork`, `BreadcrumbList`).
- [ ] `sitemap.xml` includes every page and is valid.
- [ ] `robots.txt` allows crawling and points to the sitemap.
- [ ] Favicon and touch icon present.
- [ ] Semantic URLs, no query-string-only project pages.

## H. Resilience

- [ ] Core content readable with JavaScript disabled.
- [ ] Filters degrade to "show all".
- [ ] Theme defaults cleanly without JS.
- [ ] Local time has a static fallback.
- [ ] External fonts failing still yields a usable page.
- [ ] No dependency on a third-party API at runtime.

## I. Security & privacy

- [ ] No secrets, tokens or private URLs in the repo.
- [ ] External links use `rel="noopener noreferrer"` where appropriate.
- [ ] No tracking scripts or unexpected cookies.
- [ ] Download files are scanned and checksummed.
- [ ] Contact form (if added) has validation, spam protection and a real backend.

## J. Final editorial pass

- [ ] Read every page aloud; cut any sentence that sounds like a template.
- [ ] Banned-word search returns zero: `passionate|seamless|elevate|unleash|journey|cutting-edge|innovative|revolutionary|game-changing`.
- [ ] No emoji used as icons.
- [ ] No fake testimonials, logos, metrics or "trusted by".
- [ ] At least one limitation is documented per major project.
- [ ] Colophon states typefaces, stack and AI assistance honestly.
- [ ] Footer year is current.

---

## Sign-off

| Area | Checked by | Date | Notes |
|---|---|---|---|
| Content | | | |
| Links | | | |
| Responsive | | | |
| Accessibility | | | |
| Performance | | | |
| SEO | | | |
| Final editorial | | | |
