Repository navigation
Conversation
… own" from card chat The landing showed a hard-coded "17 / 25 spots claimed" with invented member initials; cards-api has no claimed-count endpoint, so the counter and the 25-person framing go rather than keep a number nobody measures. Demo "Book intro" controls looked clickable but did nothing, and three anchors (#, #network, and #ingestion for signed-in visitors) scrolled nowhere: each now goes somewhere real or reads as plain text. Owner /home said "Who found you" and "Which agents visited" over counts that are only fetches of the card by self-reported clients, so the copy now says read/fetched. After a visitor's first real answer from a card's assistant, the widget shows one "Want an AI that answers like this for you?" link to /create?ref=ask_card. The page already knows whether the viewer owns this card or has one of their own, so both are excluded without a new fetch. Ref links skip prefetch because proxy.ts records ?ref= on prefetch requests too, which would credit a source the visitor never clicked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the remaining "broken or inconsistent" landing items and adds the ask-the-card CTA from the UX doc. Copy and wiring only. No backend, env or flag changes.
L1: fake founding counter (removed)
cards-api has no endpoint that returns a claimed-card count.
GET /cardsreturns a list of up to 1000 published cards, not a count, and the "/ 25" cap was never real. So the counter is gone, along with the made-up member initials (CK, AR, KD, SB, LN, +12) and the "25 people" framing. The section's layout, badge, copy and CTA stay.L2: demo "Book intro" controls
(landing)/page.tsxdemo candidates (×2) "📅 Book 20m Intro →": the no-opspan.cursor-pointerbecame aLinkto/create?ref=landing_demo(landing)/page.tsxdual-interface "Book Intro" pill (same deadcursor-pointerspan, found in the sweep): same link(landing)/hero-card-stack.tsx"📅 Book 20m Intro" → plain muted status text "📅 Open to 20m intros". This one is not a link on purpose: dealt-away cards stay mounted at opacity 0 over the page, so a link there would be an invisible click target.proxy.tssavesrefinto the attribution cookie (kept, not edited). These links useprefetch={false}because Proxy also runs on prefetches, so viewport prefetch alone would overwrite a visitor's real campaign ref.L3: dead links (sweep of landing and footer)
Manifesto→href="#"View the Network Layer ↓→#network(that section was deleted earlier)View the Network Layer →→/directory#ingestion, which is only rendered for signed-out visitors#your-card#ingestion(same problem)cursor-pointerAll other in-page anchors (
#paradigm,#signals,#discovery,#dual-view,#privacy,#your-card) have matching ids. NoonClickhandlers were no-ops.L4: copy honesty (owner /home)
home/discovery-analytics.tsxhome/agent-traffic.tsxhome/agent-traffic.tsxThe rest of /home already talks in "recorded requests" and "reported client identities". The landing has no measured-number claims of the "recommended you", "queried N times" or "agents are hiring" kind: its demo panels are illustrative, and its FAQ and hero describe capability, not counts. So the landing needed no copy changes for L4.
tests/owner-home.spec.tswas updated to the new region name.L5: ask-the-card CTA
After a visitor's first successful answer,
ProfileChatWidgetshows one small note under that answer: "Want an AI that answers like this for you? Create your card" →/create?ref=ask_card.getMyCardresult is reused; there are no new fetches.#E0E0D8border,#4f46e5link).tests/ask-card-cta.spec.ts(Playwright, chat stubbed withpage.route) covers: a visitor sees it once across two answers, a failed answer shows nothing, and a signed-in viewer who has a card sees nothing.Verification (apps/cards-web)
eslint .: 0 errors, 24 warnings (same as before the change)npx tsc --noEmit: cleannpx next build --webpack: exit 0next start+ curl/: no "17 / 25", "spots claimed", "Manifesto",href="#"or#network.create?ref=landing_demoappears 3 times.ask-card-cta,owner-homeandsmoke: 30 passed, 1 failed. The failure issmoke › directory chips rank people with scores and reasons(92% matchimg missing). It fails the same way on the unmodified base, so this PR did not cause it.npm testscript in cards-web.Not in scope and not touched: canonical profile URLs, share-controls/og, funnel events, intros, proxy.ts, discover components, create flow, track.ts.
🤖 Generated with Claude Code