Skip to content

feat(chatter): community pulse POC on post pages#6290

Open
rebelchris wants to merge 8 commits into
mainfrom
feat/community-pulse-chatter-poc
Open

feat(chatter): community pulse POC on post pages#6290
rebelchris wants to merge 8 commits into
mainfrom
feat/community-pulse-chatter-poc

Conversation

@rebelchris

@rebelchris rebelchris commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

What

Experimental Community Pulse section on the post page — an AI-synthesized read of what the wider dev community (X, Hacker News) is saying about an article, sitting alongside daily.dev's own comments.

It leads with the processed view and demotes raw comments to a drill-down:

  • Verdict + at-a-glance meta (stance, controversy, momentum, voices)
  • One sentiment split bar (agree / mixed / disagree)
  • Per-platform divergence — how X vs. HN each lean
  • Common ground vs. where it splits (scannable tags)
  • Bottom line — one synthesized takeaway
  • Strongest pushback — the community's best counterpoint
  • "See the raw discussion by platform" — expandable X/HN threads with a source filter

Reddit is intentionally out of scope for this POC; its platform config/enum stays so it can be re-added with data later.

Scope / caveats

  • POC only — data is mocked in features/chatter/mockData.ts (the single swap point for a real query keyed off permalink/yggdrasilId).
  • Gated behind the article_chatter flag (featureManagement.ts), default false; auto-shown in development via the || isDevelopment preview pattern.
  • Rendered in the classic post layout (PostEngagements.tsx), above the native comments.
  • External brand colors (Hacker News) use intentional inline styles; everything else uses design-system tokens.

Verification

  • Typecheck clean for all new files; lint clean.
  • RTL test (ChatterSection.spec.tsx) covers pulse rendering, raw drill-down toggle, and source filtering — 3/3 pass.
  • Note: PostEngagements.tsx carries 4 pre-existing strict-type errors on untouched lines (surfaced only because the file now counts as changed).

🤖 Generated with Claude Code

Preview domain

https://feat-community-pulse-chatter-poc.preview.app.daily.dev

Adds an experimental "Community Pulse" section to the post page: an
AI-synthesized read of the cross-platform discussion (X, Hacker News,
Reddit) — verdict, sentiment split, per-platform divergence, consensus
vs. contention, a bottom line, and the strongest counterpoint — with the
raw per-platform threads available as an expandable drill-down.

POC only: data is mocked in `features/chatter/mockData.ts` (single swap
point for a real query). Gated behind the `article_chatter` flag
(default false; auto-shown in development).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 6, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
daily-webapp Ready Ready Preview Jul 7, 2026 12:45pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
storybook Ignored Ignored Jul 7, 2026 12:45pm

Request Review

Focus the POC on X and Hacker News. Removes the Reddit source, its
per-platform sentiment row, and the Reddit filter chip; updates copy and
tuned the synthesized totals. The Reddit platform config/enum stays so it
can be re-added with data later.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Swaps the placeholder mock for a real captured community-pulse dataset
(Armin Ronacher's post; HN exact-URL match + X amplification). Makes
comment upvotes optional so sources without per-comment scores render
cleanly instead of showing "0".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a min-w-0 chain across the flex-column levels (section, card,
per-section) plus break-words on the long paragraphs. Without min-w-0 a
flex column keeps its max-content width and passes it down to nested flex
rows, so long lines (bottom line, consensus bullets) broke out of the
card instead of wrapping.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add explicit w-full so the card always has a definite width to wrap
against, and overflow-hidden so content can never paint outside the card
even under a mis-constrained ancestor. Verified the exact flex structure
wraps in an isolated repro; this makes it robust regardless of context.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The consensus bullets and bottom line kept their text inside flex rows
(icon + text); in the post page container that nested-flex text refused
to shrink and either broke out or (once clipped) stayed on one line. The
verdict and counterpoint wrap fine because they are plain block children
of the flex column, so mirror that: absolutely position the consensus
check icons and move the bottom-line paragraph out of the flex row.
Removes the overflow-hidden failsafe that was clipping the unwrapped text.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Default view now shows only the answer: the verdict, one sentiment bar
with the split, and a one-line meta (stance · controversy · momentum ·
voices). Per-platform leans, common ground, fault lines, bottom line and
the counterpoint move behind a single "Show the full breakdown" toggle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Swap the mock to the "GLM 5.2 / AI margin collapse" dataset. Add a
tagged `highlights` model (bull case / skeptic / the tell / the receipt)
and make it the centerpiece of the breakdown — color-coded quote cards
that carry the concrete, quotable value. Drop the abstract consensus
list and the standalone counterpoint (the skeptic highlight replaces it);
render the fault lines as a wrapping list since they're sentence-length.

Co-Authored-By: Claude Opus 4.8 (1M context) <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