| 16px form inputs (iOS zoom) | /book, /contact | 14px inputs trigger Safari auto-zoom at the conversion moment → text-base on all form controls. Bug-grade; do first in this batch. | MED | S | fresh-eyes |
| Field-anchored error recovery | /book, /contact | Error text renders screens away from the failing field on mobile → visible message under the first failing field + scrollIntoView for the no-slot error; aria wiring exists. | MED | S | ux (2 recs merged) |
| Minimal ₪250 clarity line + meta fix | /pricing, /book | The step-2 card dead-ends → "Offered at the end of the free conversation. Nothing to arrange now." + fix the /book meta description overpromise. Interim until the structural bookable mode ships. | MED | S | marketing + fresh-eyes |
| Footer as closing brand moment | global | The last thing a scrolled prospect sees is a tax ID → closing line + CTA, direct email/WhatsApp, nav columns; future home for the T3 offer. | MED | S | ui-premium |
| Contact as the explicit not-ready route | /, /contact | Hesitation never routed anywhere → "Not ready to talk? Describe the problem in writing" line + a matching inquiry-type option. Pairs with T3. | MED | S | marketing |
| Anonymity reframe | /, /work | "Client not named, by choice" reads as covering → factual vertical descriptor where contract-safe; explain the policy once rather than per-card. | MED | S | fresh-eyes |
| Live next-available slot chip | / | Zero honest urgency anywhere → a real chip from the existing ~1s availability endpoint, graceful omission on failure. | MED | M | marketing |
| Booking mobile tuning batch | /book | The expect-block pushes the form 1.5 screens down; a 40-slot discovery wall; contract below the fold → details-disclosure below md, per-day slot pagination, microNoteLong in the header. | MED | S | ux (3 recs) |
| Preserve form input across locale switch | /book, /contact, /ai-setup | The language toggle wipes typed fields (punishes the exact bilingual user) → sessionStorage stash and rehydrate around location.assign. | MED | M | ux |
| Mobile header rebalance | global | Four competing elements, two yellow, before any content → wordmark + unboxed hamburger, ghost locale toggle, one yellow element per screen. | MED | S | ui-premium + fresh-eyes (2✓) |
| Elevation + grain system | global | One card treatment, invisible section rhythm, flat #000 → a second panel tone, inset top highlight, hover lift, 2-3% grain overlay. | MED | M | ui-premium (2 recs merged) |
| Preview chrome + LQIP frames | /, /work | Raw screenshots in 3 palettes punch holes in the dark page; black lazy-load flash → shared browser-chrome frame, 16:10 crop, blurred placeholder. Supersedes the L-effort "full-width collage" idea. | MED | M | ui-premium + fresh-eyes (2✓) |
| Micro-interaction pass | global | Flat pointer feedback vs. good scroll motion → arrow travel, underline draw, press state, nav indicator; CSS-only, reduced-motion safe. | MED | S | ui-premium |
| Pricing tabs → selectable cards | /pricing | A revenue surface styled as filter chips → equal-width cards with name/scope/price, active card lifted. | MED | M | ui-premium |
| Retire "production" / "בייצור" jargon | global | Developer jargon for a non-technical buyer; HE "בייצור" reads as manufacturing → per-context replacements, jargon kept only in technical cards. | MED | M | copy |
| EN naming pass: routes vs offerings + pricing H1 | global, /pricing | Four products, two names; "Two steps in. Four ways on." stumbles natives → "offerings" as the sole product noun; pricing H1 mirrors the clean Hebrew. The home wordplay stays. | MED | S | copy + fresh-eyes (2✓) |
| Cut one "not a build" on the viability tab | /pricing | Said three times in one tab, reads as anxiety → delete the lede's closer, both locales. | MED | S | copy |
| Sharpen situations payoffs + /ai-setup header | /, /ai-setup | A relief beat set up, paid off with a scoping memo; "Why this sits on its own page" is navel-gazing → drafted replacement strings ("A day, not a project."). | MED | S | copy (2 recs) |
| Contractions taste pass (EN) | global | Zero contractions makes spoken-register sections starchy → about 10 strings in FAQ/close/expect only; headlines and legal stay formal. | MED | M | copy |
| Promise-consistency microcopy batch | /contact, /book, /privacy | Absolute vs. hedged SLA; no "no payment details on this site" line; the WhatsApp channel absent from the privacy policy → unify on "usually within one business day", add both lines. | MED | S | trust (3 recs) |
| SEO hygiene batch | global | x-default/root contradiction; toggle not crawlable; soft-404s; preview.webp robots-blocked + empty alts → x-default to /en (post-GSC check), <a href> toggle, prerendered 404.html + narrow rewrite, unblock webp + pass alt in Home.jsx. | MED | S | seo (4 recs) |
| Organization schema enrichment | global | Bare org node, no serviceType → description, availableLanguage, serviceType per Service. (The Person node ships in T2.) areaServed is a positioning decision for Tom. | MED | S | seo |
| Training buyer non-call route | /pricing, /contact | The only offering with no secondary action → altCta to /contact + a "Professional training" inquiry option. | MED | S | ux |
| Micro-fix batch (both locales) | various | "confirmed usually" word order; "Get in touch" becomes "Let's talk."; About lede duplication; HE "גרסה לבנה" becomes "White Label"; "הדמו באנגלית" tag on Hebrew cards. | LOW | S | copy + fresh-eyes (5 recs) |