Skip to content

feat(home): reposition homepage around Stage Profile (growth step 2) - #81

Merged
TTigger merged 1 commit into
masterfrom
feat/homepage-repositioning
Jul 26, 2026
Merged

feat(home): reposition homepage around Stage Profile (growth step 2)#81
TTigger merged 1 commit into
masterfrom
feat/homepage-repositioning

Conversation

@TTigger

@TTigger TTigger commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Summary

Growth step 2 (of the deep-vs-broad strategy): reposition the homepage around Stage Profile, the site's one genuinely differentiated tool, instead of presenting all 36 tools as equals.

Why now

10 days after Search Console indexing kicked in, the data was unambiguous: 24 impressions, 0 clicks, average position ~69. Every query that surfaced was a generic English tool term (world clock, gear calculator) plus one Taiwan-specific hit (gas prices in taiwan). Zero impressions for Stage Profile, cycling, or any Chinese query. A flat 6-category grid where every tool gets the same card size gives a first-time visitor no reason to remember the site — this fixes that without touching the long tail's crawlability.

Changes

  • Hero.astro (new): Stage Profile becomes the homepage's headline — eyebrow, heading, one-liner, primary CTA (upload GPX), and a secondary anchor down to the cycling toolkit. Uses the existing demo GIF from the README (copied into public/demo/; confirmed .gif isn't in the PWA's injectManifest allowlist, so it won't get swept into the service-worker precache).
  • HomeGrid.astro: cycling toolkit promoted right under the hero as Stage Profile's supporting cast — Stage Profile itself is excluded from that grid (already the hero; e2e-pinned so it can't silently duplicate). The other ~28 tools collapse into one de-emphasized "More tools" section with a compact card style — still real server-rendered <a> links, so nothing's SEO-invisible, just visually quieter.
  • ToolCard.astro: new compact variant. Worth flagging: the favorite-star button had to move before the title in the DOM (CSS order-* keeps it visually last) — otherwise the link's accessible name reads as "icon + title + star," which collapses into a substring match against the ⌘K command palette's result row and breaks two e2e tests via strict-mode violation. The original full-size card already avoided this by accident (button came before the <h3>); this makes it deliberate.
  • Homepage <title>/<meta description> (zh + en) rewritten to lead with the actual positioning, lengths fit the 50–160 char band the site's own URL Audit tool scores against.

Verification

  • typecheck:api ✓ / 551 unit ✓ / 66 e2e ✓ (+1 new: hero CTA href, anchor scroll, and "no duplicate Stage Profile card in the cycling grid")
  • Screenshot-reviewed: zh/en, light/dark, mobile width — all checked by eye
  • Pure frontend, api/ untouched, no production verification step needed

🤖 Generated with Claude Code

Google Search Console data (10 days post-launch) showed the site's only
real traffic signals were generic English tool queries and one
in-Taiwan query ("gas prices in taiwan") — zero impressions for Stage
Profile, cycling, or any Chinese query. The homepage's flat 6-category
grid gave every one of 36 tools equal weight and no focal point, which
buries the one tool with real differentiation.

- New Hero.astro: Stage Profile becomes the homepage's headline act —
  eyebrow + heading + one-liner + primary CTA (upload GPX) + secondary
  anchor to the cycling toolkit below. Uses the existing README demo
  GIF (copied into public/demo/, not swept into the service-worker
  precache since .gif isn't in the injectManifest globPatterns
  allowlist).
- HomeGrid.astro: cycling toolkit promoted right under the hero as
  Stage Profile's supporting cast (gear calc, ride fuel, FTP zones,
  tire pressure — Stage Profile itself excluded here since the hero
  already covers it, confirmed via e2e so it can't silently
  reappear). The other 5 categories (~28 tools) collapse into a single
  de-emphasized "More tools" section with a compact card style —
  still full server-rendered <a> links (SEO/crawlability unchanged),
  just visually quieter.
- ToolCard.astro: new compact variant for the More-tools section. Its
  favorite-star button is placed before the title in the DOM (CSS
  order-* keeps the visual position at the end) so the link's
  accessible name doesn't collapse into a match for the command
  palette's row — same trick the original full card already relied
  on, just made deliberate instead of accidental.
- Homepage <title>/<meta description> (zh + en) rewritten to lead
  with the actual positioning; description lengths fit within the
  50-160 char band the site's own URL Audit tool scores against.

Tests: typecheck:api / 551 unit / 66 e2e (+1: hero CTA + no duplicate
stage-profile card in the cycling grid). Screenshot-reviewed zh/en,
light/dark, and mobile widths.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 26, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
tiglet Ready Ready Preview, Comment Jul 26, 2026 7:36am

@TTigger
TTigger merged commit 9dd3a7a into master Jul 26, 2026
3 checks passed
@TTigger
TTigger deleted the feat/homepage-repositioning branch July 26, 2026 07:38
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