feat(home): Tier C monetization-as-headline band above LiveTopTable - #3179
Open
0motionguy wants to merge 1 commit into
Open
feat(home): Tier C monetization-as-headline band above LiveTopTable#31790motionguy wants to merge 1 commit into
0motionguy wants to merge 1 commit into
Conversation
Surfaces TrendingRepo's defensible differentiation (revenue estimates, funding/MRR radar, embed-ready star-history + treemap SVGs) as a 3-card band positioned between the Featured row and the LiveTopTable rankings card. The combined deep-crawl deltas (toolbox PR #241 + L1#3172 + F4 #3173 + C-CAT #3174) flagged monetization as our defensible wedge vs OSSInsight and TrendShift — revenue-estimate (4.0), MRR/funding radar (4.0), star-history SVG API (3.0 + virality wedge), webhook/Slack integrations (3.0), daily digest (2.0). Until now those tools lived on /tools as an afterthought. This band lands the positioning on the home page without displacing the LiveTopTable rankings as the entry point. - Server component, no client deps. Reuses the V4 design-system primitives (Card variant="tool", SectionHead, FreshnessBadge, --v4-money accent) so no shell CSS / globals.css changes. - 3-card layout via the existing 12-col `.grid` + `.col-4` pattern that HeroPanel already uses on home. - Each card derives an "is-live" boolean from classifyFreshness over the revenue-overlay snapshot or the funding-news fetchedAt. Cold sources flip the foot chip from a green DAILY BUILD / EVENT-DRIVEN / SVG · EMBED pill to an amber UPDATING / REFRESHING / WARMING one instead of publishing a stale figure as live. - Section head "// 04.5" carries the strategic copy: "Monetization signals / what OSSInsight + TrendShift don't ship". - Vitest coverage (5 tests) proves the three card routes, both freshness poles, and the positioning copy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Jun 15, 2026
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.
Summary
Surfaces TrendingRepo's defensible differentiation as a 3-card band positioned directly above the LiveTopTable rankings card on the homepage. The band names the angle no other OSS tracker ships:
/tools/revenue-estimate)/funding)/tools/star-history+/tools/treemap)Rankings remain the entry point — the band sits between
// 04 Featuredand// 05 Live / top 50, framed by a new// 04.5SectionHead: "Monetization signals / what OSSInsight + TrendShift don't ship".Strategic framing
The combined deep-crawl deltas flagged monetization as our defensible wedge vs OSSInsight and TrendShift:
Until now those tools lived on
/toolsas an afterthought. This PR moves them to the home page without displacing the rankings.Honest staleness
Each card derives an
isLiveboolean fromclassifyFreshnessover the underlying snapshot (revenue-overlaygeneratedAt, funding-newsfetchedAt). When a source is cold the foot chip flips from a green pill (DAILY BUILD/EVENT-DRIVEN/SVG · EMBED) to an amberUPDATING/REFRESHING/WARMING— explicit, never publishes a stale figure as if it were live. Cold reads are caught inpage.tsxso the band never throws the ISR-cached home render.Implementation
Card variant="tool",SectionHead,FreshnessBadge,--v4-moneyaccent token) — noglobals.css/ shell-CSS changes..grid+.col-4pattern thatHeroPanelalready uses on/.Test plan
npx vitest run src/components/home/__tests__/TierCMonetizationBand.test.tsx(5/5)npx vitest run src/components/home src/components/ui(100/100)npx tsc --noEmit(no new errors outside pre-existing.next/typesand*.stories.tsxstorybook noise)/— band renders above the Live/top 50 card, both light and dark mode read correctly via--v4-moneytokenUPDATING.col-4collapses to single-column on narrow viewports via existing.gridrules🤖 Generated with Claude Code