Skip to content

feat(tags): new-user conversion layer for tag page + directory#6116

Open
tsahimatsliah wants to merge 8 commits into
mainfrom
claude/kind-moore-20021b
Open

feat(tags): new-user conversion layer for tag page + directory#6116
tsahimatsliah wants to merge 8 commits into
mainfrom
claude/kind-moore-20021b

Conversation

@tsahimatsliah
Copy link
Copy Markdown
Member

@tsahimatsliah tsahimatsliah commented May 31, 2026

What

Flag-gated redesign of the tag page and tags directory that adds a new-user (anonymous) conversion layer on top of the existing layout. Existing members keep their familiar experience as the baseline; cold SEO/share traffic gets a path to the "aha moment" fast.

Gated by featureTagPageRedesign (tag_page_redesign, default ON for review). Flip off → both pages render exactly as today.

No SEO content removed — every element/link/JSON-LD is preserved; things are reorganized, redesigned, and added to.

Changes

  • TagPageHeader — value-prop hero + single "Get my {tag} feed" CTA + social proof for logged-out visitors; members keep the compact header.
  • TagBestOfPosts — collapses the 3 stacked carousels (Top / Most upvoted / Best discussed) into one tabbed surface. Nothing removed, just one tap away.
  • TagBuildYourFeed — anonymous multi-select related-topics funnel ("aha before auth").
  • Directory — anon value-prop hero + CTA and a client-side search filter over the A–Z wall (full list stays in SSG HTML for crawlers).
  • All sr-only links, JSON-LD, breadcrumbs, top sources/contributors, archive card and roadmap preserved in both layouts.

Review notes

  • Logged-in header is visually close but not byte-identical (now a <header> with matching spacing). Can scope the restyle to anonymous-only if preferred.
  • Follow-ups (backend-dependent): persist pre-signup tag selection to seed the feed after signup; Pulse-of-{tag} summary, activity sparklines, browse-tracking onboarding.

Testing

  • Strict + full tsc clean for changed files; ESLint clean.
  • All 12 existing TagPage tests pass with the flag ON.

🤖 Generated with Claude Code

Preview domain

https://claude-kind-moore-20021b.preview.app.daily.dev

Adds a flag-gated (tag_page_redesign, default ON) redesign of the tag
page and tags directory. The existing logged-in layout stays the
baseline; anonymous SEO/share traffic gets a conversion-focused layer on
top. No SEO content is removed — elements are reorganized and added to.

- TagPageHeader: value-prop hero + single "Get my {tag} feed" CTA for
  logged-out visitors; members keep the familiar header.
- TagBestOfPosts: collapses the 3 stacked carousels into one tabbed
  surface (Top / Most upvoted / Best discussed) — nothing removed.
- TagBuildYourFeed: anonymous multi-select related-topics funnel.
- Directory: anon value-prop hero + CTA and a client-side search filter
  over the A-Z wall (full list stays in SSG HTML for crawlers).
- All sr-only links, JSON-LD, breadcrumbs, sources/contributors,
  archive card and roadmap preserved in both layouts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 31, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview May 31, 2026 2:10pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored May 31, 2026 2:10pm

Request Review

Ground-up UX pass on the tag page (still behind tag_page_redesign,
default ON). Content/data fully preserved for SEO — only layout,
hierarchy, order and styling changed.

- Topic-hub hero: icon/title lockup, scannable meta chips
  (related topics / contributors / updated daily), readable description
  width, action row; anon value-prop band + single CTA.
- Consistent section rhythm via shared TagSectionHeader (h2 outline
  under the single hero h1) with anchorable, scroll-margin sections.
- TagPeople: groups top sources + top contributors under one
  "Who shapes #{tag}" section, only when populated.
- Reordered: Hero → Related topics → Best of → Who shapes → Learn →
  All posts (archive + feed). Best-of tabs restyled with a divider.
- All sr-only SEO links, JSON-LD, breadcrumbs, roadmap and archive
  preserved. Flag-off fallback unchanged.
- Updated TagPage test for the renamed contributors section copy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Editing the test pulled it into the strict-changed typecheck scope,
surfacing a pre-existing gap: the settings mock was missing the new
gamification props (optOutAchievements, isGamificationEnabled,
toggleOptOutAchievements, toggleAllGamification). Add them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Make the tag page read as THE authoritative hub for a topic instead of a
generic feed. Adds real, data-backed editorial substance up top and the
schema that gets pages cited by search + answer engines.

- TagKeyFacts: scannable "at a glance" strip of real stats (posts via
  occurrences, related topics, contributors, daily freshness, tracked-since).
- Overview: a "What is {tag}?" section built from the tag description,
  backed by DefinedTerm structured data (entity definition for AEO).
- TagFaq: concise, data-backed Q&A (how to keep up, top contributors,
  related topics, how to learn) rendered fully in the DOM, backed by
  FAQPage structured data — the page's main answer-engine surface.
- Single source of truth (getTagFaqItems) feeds both the visible FAQ and
  the JSON-LD so they never drift.
- Hero slimmed to identity + action; substance now lives in dedicated
  sections with clear hierarchy.

All real data only — nothing fabricated; sections self-hide without data.
SEO content preserved; flag-off fallback unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tellation

Push the tag page from "organized lists" to a standout, alive topic hub
aimed at developer discovery. All real data; SEO content preserved;
behind tag_page_redesign (default ON); honors prefers-reduced-motion.

- TagHero: full-bleed panel with an ambient drifting gradient, a live
  pulse pill, a developer terminal motif, a giant wordmark, animated
  count-up stats (SSR-safe), and a bold CTA.
- TagPulse: auto-scrolling "live" ticker of the latest posts (real SSR
  titles, pause-on-hover, links out) for instant aliveness.
- TagConstellation: related tags as an interactive orbiting constellation
  with connector lines and float — a spatial take on topic discovery.
- Scoped tagShowcase.module.css for the custom animations (transforms
  only; colors stay in the design system).
- Retired TagPageHeader / TagKeyFacts / TagBuildYourFeed (superseded;
  key facts now live as count-up stats in the hero).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Address review: the giant cover, fuzzy section breaks, oversized/
inconsistent entity chips, the heavy centered FAQ and the big related-tags
map all hurt scannability. Rework into a dedicated, scannable hub.

- TagHero: shrunk from a full-bleed cover to a compact identity bar
  (icon + #tag + headline stats + primary action). The "what is" moved
  out of the hero.
- TagModule: one consistent bordered card with a clear header used by every
  context block, so each section reads as a distinct module.
- TagAbout: "What is #{tag}" overview + compact key-facts grid (DefinedTerm
  substance), now a single tidy module.
- TagPeople: top sources / top contributors as compact, uniform avatar+name
  rows (no more variable-width cards).
- TagRelatedTopics: dense, consistent chip cloud — replaces the oversized
  constellation map (removed).
- TagFaq: native <details> (answers stay in the DOM for SEO/AEO) inside a
  module — collapsible and out of the center spotlight.
- Layout: header → live ticker → Best of → context hub (About + FAQ main,
  sources/contributors/related/learn right rail) → full-width feed.
- TagSectionHeader: subtitle now aligns under the title, not the icon.

Behind tag_page_redesign (default ON); SEO content preserved; flag-off
fallback unchanged; all tag tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Completely different direction: compose the tag page like the front page
of a publication dedicated to the topic, instead of stacked sections or
uniform cards.

- Enrich TAG_TOP_POSTS_QUERY (image, source, engagement, readTime) so the
  page has real material to compose with.
- TagMasthead: editorial wordmark + live "dek" + rule + italic standfirst
  (the topic definition) — no boxed cover.
- TagFrontPage: a big lead story + a ranked "Most read" rail built from the
  top posts — the signature, asymmetric centerpiece.
- TagRibbon: voices / top sources / related desks as a light banded strip
  of editorial columns (kickers + rules), not heavy cards.
- TagFaq: slim editorial Q&A (<details>, DOM-present for SEO/AEO).
- Layout: masthead → front page → Trending (Best of) → ribbon → Learn →
  FAQ → "More in #tag" feed.
- Retired the modular-hub components (TagHero/TagPulse/TagModule/TagAbout/
  TagPeople/TagRelatedTopics/constellation).

Behind tag_page_redesign (default ON); SEO content preserved; flag-off
fallback unchanged; all tag tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Stop inventing chrome; compose the page from daily.dev's own design
language (briefing-home rows + WidgetCard widgets), so it feels like part
of the product instead of a one-off.

- TagHubHeader: briefing-style header — bold #tag title, a one-line stat
  dek, primary action, rule. Compact, no cover.
- TagPostRow / TagPostList: native list rows (mirroring BriefListItem):
  bordered rounded-16 rows with rank, clamped title, one meta line,
  thumbnail and a full-row CardLink. "Top in #tag" is a scannable,
  discussion-style ranked board (the hero) — built from the enriched
  top-posts data.
- TagWidgets: everything-about-the-topic in native WidgetCards — About
  (definition + key stats + related topics + learning path), People &
  sources, and FAQ (<details>, DOM-present for SEO/AEO).
- Layout: header → Top in #tag (rows) → widgets → "Latest in #tag" feed.
- Retired the editorial experiment (masthead/front-page/ribbon) and the
  earlier card modules.

Behind tag_page_redesign (default ON); SEO content + schema preserved;
flag-off fallback unchanged; all tag tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant