Athath

STAY quality

No dark patterns — promised and proven

Program STAY adds engagement surfaces (a first welcome, first-session value, a calm return to your saved work). "Delight" must come from real value, never a hook. This page renders the SAME manifest the CI gate asserts against — so what you read here is exactly what is enforced in code.

STAY surfaces

  • Onboarding to value (new-visitor value paths)

    ST-26
    The real value
    Three honest, signed-out paths straight into real value: search, plan, a real guide.
    Self-limits (never nags)
    Local-first dismissedTips (never re-asks) AND auto-steps-aside once the visitor has any real local signal.
    • Basis always shown: Yes
    • One-tap dismiss: Yes
  • First-session starter (try this real thing now)

    ST-27
    The real value
    Real example searches the live catalog answers, plus the real planner + a real guide.
    Self-limits (never nags)
    Lives on the opt-in /start orientation surface (gates nothing, never auto-shown as a nag); renders nothing with no starters.
    • Basis always shown: Yes
    • Shows only on real signal
  • Welcome back (return-session, your real saved work)

    ST-28
    The real value
    Your real shortlist + the last piece you viewed, one tap away — read only from this browser.
    Self-limits (never nags)
    Local-first dismissedTips (never re-asks) AND renders nothing unless there is genuine returning signal (honest absence).
    • Basis always shown: Yes
    • One-tap dismiss: Yes

Engagement cues banned across all STAY surfaces

  • streaks are a loss-aversion hook (banned)
  • streak (AR) — loss-aversion hook (banned)
  • points/badges/rewards are extrinsic gamification (banned)
  • FOMO framing (banned)
  • FOMO (AR) framing (banned)
  • manufactured urgency (banned)
  • fake scarcity (banned)
  • fabricated social proof (banned)
  • countdown timer (banned)

Enforced in CI by

Every claim above is asserted by a unit test against the real source file. Any new surface that forgets the basis, hides the dismiss, or slips in a banned cue fails the build.

__tests__/stay/no-dark-patterns.test.ts · components/stay/stay-manifest.ts

Transparency & trust