Skip to content

feat(home): Tier C monetization-as-headline band above LiveTopTable - #3179

Open
0motionguy wants to merge 1 commit into
mainfrom
feat/C-tier-monetization-headline
Open

feat(home): Tier C monetization-as-headline band above LiveTopTable#3179
0motionguy wants to merge 1 commit into
mainfrom
feat/C-tier-monetization-headline

Conversation

@0motionguy

Copy link
Copy Markdown
Owner

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:

  • Revenue Estimate — ARR calculator with verified overlays + comp set (/tools/revenue-estimate)
  • Funding & MRR Radar — live tape of OSS-adjacent rounds, founder-led MRR signals, pre-IPO movers (/funding)
  • Star-history & Treemap — embed-ready SVGs you drop into a README or screenshot thread (/tools/star-history + /tools/treemap)

Rankings remain the entry point — the band sits between // 04 Featured and // 05 Live / top 50, framed by a new // 04.5 SectionHead: "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:

Signal Defensibility Source
Revenue calculator 4.0 toolbox PR #241
MRR / funding radar 4.0 L1 #3172
Star-history SVG API 3.0 (+ virality wedge) F4 #3173
Webhook / Slack alerts 3.0 F4 #3173
Daily email digest 2.0 C-CAT #3174

Until now those tools lived on /tools as an afterthought. This PR moves them to the home page without displacing the rankings.

Honest staleness

Each card derives an isLive boolean from classifyFreshness over the underlying snapshot (revenue-overlay generatedAt, funding-news fetchedAt). When a source is cold the foot chip flips from a green pill (DAILY BUILD / EVENT-DRIVEN / SVG · EMBED) to an amber UPDATING / REFRESHING / WARMING — explicit, never publishes a stale figure as if it were live. Cold reads are caught in page.tsx so the band never throws the ISR-cached home render.

Implementation

  • Server component, no client deps. Reuses the V4 design-system primitives (Card variant="tool", SectionHead, FreshnessBadge, --v4-money accent token) — no globals.css / shell-CSS changes.
  • 3-column layout via the existing 12-col .grid + .col-4 pattern that HeroPanel already uses on /.
  • Vitest coverage (5 tests) proves the three card routes, both freshness poles, the strategic positioning copy, and the live-pill happy path.

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/types and *.stories.tsx storybook noise)
  • Visual smoke on / — band renders above the Live/top 50 card, both light and dark mode read correctly via --v4-money token
  • Cold-source smoke — drop the revenue-overlays JSON locally, confirm the Revenue Estimate card flips to amber UPDATING
  • Mobile smoke — .col-4 collapses to single-column on narrow viewports via existing .grid rules

🤖 Generated with Claude Code

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>
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