01-projects/printables-product/audits/2026-09-11-household-journey

report

Household journey and visual audit — September 11, 2026

The hands-on agent walkthrough and screenshot critique are complete. The next priorities are customization recovery, account access/task order, and accurate multi-child printing instructions. Browse batching comes later.

This is agent observation and expert critique, not a study of participating households. Physical printing and a real multi-child inbox receipt remain unobserved. Keep #145 open for those acceptance gaps and live customization recovery. #174's audit deliverables are reviewable in PR #176; implementation is tracked separately.

Evidence and provenance

Journey exercised

Step Result Evidence and boundary
Sign in Live request, email arrival, confirmation tap and account access succeeded. Empty email rejected. Used link produced expired-link recovery. signin-*; tokens omitted.
Child profile Read real account; exercised empty/one/two-child and Free/Plus states locally. Blank name rejected; synthetic Nova saved as age 5. account-*, child-*; real profiles unchanged.
Select 39 games. Ages 9–10 returned 14 eligible entries, including intentional stretch matches. Opening a game and returning with Back preserved filter and scroll. Empty search survived reload. browse-*, filters-mobile; 14 is not the primary-band count.
Customize One live synthetic Crack the Code request failed: “The pencil broke. The original still prints.” customize-result-mobile; no successful result stored. #177 owns diagnosis.
Download/print Original endpoint returned a valid one-page US Letter PDF, 157,546 bytes, visually inspected. Local six-game tray reached “Done — seven pages, headed for your printer.” Synthetic household produced two valid seven-page PDFs. playset-download-mobile, emails/*.pdf. Download-event listener timed out before UI completion; PDF generation independently verified. No physical print claim.
Delivery Located live controls; local save confirmed 7:00 am Eastern. delivery-saved-mobile; live preferences untouched.
Scheduled email Existing Sept 11 message in real Gmail Inbox; desktop rendering, plain text, HTML and attachment inspected. Timestamp 10:30:50 UTC, before #150 rollout; one child only. Private screenshot excluded.
Feedback Email has hello@scribbleworks.co; account/Privacy expose contact. Main site navigation/footer lack an explicitly named feedback destination. Discoverability judgment; no feedback sent.
Review portal Live sign-in, queue/source/search, exact proof, decision controls and help tooltip inspected. Filtered three Crack the Code versions. review-*; no decisions changed. Published/pending reconciliation remains #142; pending count was accurate.

Top three and scoped issues

  1. Customization completion and recovery — #177, now. A live primary task failed. Provide a useful recovery message and direct original-download action. Read-only metadata showed two unresolved reservations totaling 123,923 micros near the attempt and zero stored successes for the slug after the walkthrough began. This is correlation, not a proven cause or settled provider charge. Diagnose before another paid attempt.
  2. Visible account data and task order — #178 and #179, next. Synthetic 503s hide supported sections without retry. Healthy accounts put maintenance and artwork before children/delivery. Separate functional recovery from the reviewed layout implementation.
  3. Reliable multi-child print instructions — #181, next. Mixed-length sets are described using only the first child's page count; normalized nicknames collide in filenames. Aggregate payload qualification is separately scoped in #182.

#180 fixes another verified mismatch: Crack the Code says “same skill, same age” while recommending ages 3–4 and 5–6. relatedGames() places all skill matches before age matches; its heading promises an intersection it does not enforce.

Fresh screenshot critique

After interacting, the same agent made a fresh screenshot review. This is not an independent reviewer or human household study; no additional paid critic was invoked. Findings were checked against rendered state and source. A suspected PDF footer crop was rejected after full-page inspection; review counts were not misclassified as defective.

Rubric: primary task/action; information order; type, spacing and visual contrast; purposeful imagery; responsive composition; labels/keyboard/recovery; consistency between promise and result. High blocks or obscures a core task; medium adds confusion/effort; low is polish. Contrast comments are visual judgment, not a complete computed accessibility audit.

Screen/template and captures Critique and recommendation Severity / evidence type
Home, home-* Playful materials and six-slot metaphor work. The first screen asks for a brief before showing a completed example; blank slots cost mobile height. Show a compact “six games + a parent page” example and reduce the empty illustration on narrow screens. Medium, expert
Browse, browse-*, filters Actual page thumbnails, readable titles and clear Add controls work. The edge tray competes with mobile search. Page heights: 9,988px at 390, 5,393px at 1440, 13,958px at 768. Recheck tablet density and preserve contextual filter counts. Medium, measured + expert
Game/customization, game-*, customize-* Strong preview; original download sits below substantial mobile content. Put an original-PDF action near the title and in error recovery. Correct related-game promises. High failure / medium hierarchy
Planner/shopper, planner-*, shopper-* Same compact planner template with editable brief/chips. Standardize navigation wording on “Plan a playset”; preserve aliases. Ready-made selection and local assembly worked. Low, consistency
Account, account-two-* Narrow serial desktop stack. At 390, Kids begins about y=1,390 and Daily playset y=2,864; at 1440, about y=1,295 and y=2,637. Identity, sign-out and deletion dominate first view. Use child main column + delivery sidebar; mobile children, delivery, settings. High effort; measurement + founder concern
Empty/one/Free accounts Explanations help but repeat long household introductions. Empty should lead to Add a kid; Free should clearly distinguish available printing from disabled delivery. Medium, expert
Account loading/error Supported sections vanish with no retry. Keep section shells; distinguish loading, empty, unavailable and failed. High, reproduced fixture
Child/adult forms, child-*, adult-invite-mobile Name validation/focus work; birthday/privacy labels and one-use/14-day invite explanation help. Collapse repeated long privacy explanation. Some captures include the browser's 1Password affordance; it is not site UI. Low/medium, observed + expert
Navigation, navigation-signedin-mobile Search/destinations are clear, but planner pitch, Ray and age chips make a long drawer. Use Plan, Browse, My household, Help & feedback. Keep age discovery within Browse. Menu Escape closed and returned focus after settling. Medium, founder concern validated
FAQ, faq-* Useful printing instructions. Title/closing say five answers; source/rendered list has six. Use “Questions before you print” and a clear help/feedback next step. Low copy bug / medium discovery
Privacy, privacy-* Short introduction helps; narrow full page is about 10,639px. Add anchored contents and preserve readable line length. Low/medium layout judgment, not legal advice
Terms, terms-* Readable column/headings; no observed narrow horizontal overflow. Match Privacy navigation conventions. Low, consistency
Legacy packs, pack-* Both historical templates captured desktop/mobile. Distinguish historical package framing from today's six-game playsets; avoid promoting these in primary navigation. Low/medium, expert
Review queue/detail/help, review-* Exact proof and explicit decision controls support review. Multiple versions need reconciliation context, already tracked in #142. Preserve decision semantics. Medium workflow, existing issue
Sign-in confirmation/expired, signin-* Both work; sparse system-style confirmation differs from public brand. Strengthen hierarchy while preserving the safe confirmation tap. Low, consistency
Daily email, email-daily-* Clear subject, child sections, thumbnails and plain text. Two-child mobile preview is ~2,467px. Keep instruction compact; reduce duplicated strategy copy. Footer should link directly to delivery controls. Medium, copy/task effort
Sign-in/invite email, email-signin-*, email-invite-* Concise transactional content and obvious CTA. Reuse compact branding/button treatment; add no promotional lifecycle material. Low, consistency
Images blocked, email-daily-two-images-blocked-* Names, text, printing instructions and links remain usable; broken image boxes distract. Keep useful alt text and constrained dimensions. Low/medium; browser simulation, not client certification

Ray and the account proposal

The healthy two-child account visibly repeats the full guide in Kids and Adults, plus the small footer mark; empty portrait adds another guide. The menu adds the same guide for a planner pitch. Home/customization use him for contextual help. Hidden template images are excluded from visible counts. Email's small mark beside actionable guidance is useful.

The proposal keeps one contextual account note, removes repeated full-guide poses from maintenance cards/menu, and retains a small brand mark where appropriate. Portrait editing moves into expandable settings. No new artwork is required. proposal.html demonstrates desktop/mobile layout, settings, delivery disclosure, navigation and child shortcuts with synthetic data only. Controls disclose proposed behavior; they do not alter the product.

Multi-child packaging

scripts/audit-household-email.mjs uses current curation/package/email modules, synthetic profiles and public asset GETs. It never sends mail.

Case Result
Nora 3/en; Theo 6/en+es Six games each, no sibling overlap for this input/date. Not a general freshness guarantee; #161 owns that.
Attachments Nora 7 pages / 1,766,843 bytes; Theo 7 pages / 2,119,561 bytes. Base64 attachment content totals 5,181,876 bytes, excluding other message overhead. Parent pages visually checked with full frames/footer; page counts parsed.
Unsupported infant Skipped with no_band; existing email lists only eligible children and does not explain omission.
Mixed lengths Ada 3 and Ben 6, English only: six/five games, seven/six pages. Email incorrectly says seven pages of each.
Filename collision Jo Lee and Jo-Lee both produce playset-jo-lee-2026-09-11.pdf.
Later-child failure New regression: first child's six source PDFs succeed; second child's source fails. Zero provider calls/outbox rows, one claim and one failed outcome. Daily suite 177/177 passed.
Real one-child receipt PDF 2,178,887 bytes; Gmail whole-message estimate 3,001,014 bytes. Desktop inbox inspected; private data excluded.
Gaps Actual multi-child inbox/print, maximum-household payload acceptance and client-specific mobile rendering. #182 tracks aggregate sizing. No combined print-all attachment justified by household evidence yet.

Browse decision — #175

Choose explicit Load More, initially 24 on mobile and 48 on desktop, after higher-priority fixes. Current 39 entries mean all appear on desktop and mobile adds a final 15. This is a site-specific proposal based on scan length, not an industry standard or validated conversion improvement. Recheck tablet density separately.

Current thumbnails are already lazy-loaded; ten were initially loaded in the mobile sample and the remainder deferred. Hiding cards alone proves no bandwidth/performance benefit. No controlled performance benchmark was completed. The interactive proposal compares all 39 current entries at 24/48 for scanning only.

Implementation acceptance: filter whole catalog before slicing; deterministic order; no duplicates; URL-defined loaded extent; filters/extent/scroll survive Back/reload; predictable keyboard focus and loading announcements; reachable footer; actual final-batch count. Test 0/1/24/25/48/49 entries, repeated clicks, filter changes, loading/error/retry. Coordinate crawlability with #147. No pagination implementation ships in this audit.

Verification and boundaries