feat(home): Phase D — conversion (proof band, named founder, Process nav, Book-a-call)#11
Merged
Merged
Conversation
…nav, Book-a-call) Convert the technically-pristine-but-commercially-quiet site: surface the buried OSS proof, name the founder for authority, make the engagement path (Process + pricing signal + booking) discoverable. D1 — Home upstream proof band (highest-leverage) New `components/home/upstream-proof-band.tsx`, mounted between Hero and ProjectGrid. Data-driven off `aggregates()` (113 merged PRs / 97 repos — never drifts from the enriched snapshot) with a 12-brand logo wall reusing `BrandIcon` (Node.js, Mozilla, MongoDB, Redis, Puppeteer, React Router, GraphQL, ESLint, Solid, XState, Mantine, Vitest — all real simple-icons). CTA links to /upstream. Named + quantified credibility no competitor fakes. D2 — Hero framing Restored the "small team of engineers" hero sub (user preference) over the "one engineer + network" wording. D3 — Process nav + Book-a-call - Added Process to the primary nav (widened NavItem union, new `common.nav.process` key, mobile Contact row number now computed from `items.length` instead of a hardcoded "04"). - New reusable `components/cta/book-a-call.tsx` — env-gated on NEXT_PUBLIC_CAL_URL (renders null in local dev, live in prod), links straight to the self-hosted Cal.com discovery event. Wired into the /process CTA block and the home ContactSection so booking no longer hides behind the 5-step form's budget gate. D4 — Named founder /about now names Yaroslav (principal engineer, 14 yrs, sysadmin→QA→ product→engineering) with a small-team + specialist-network framing. Enriched the JSON-LD founder Person with `description` + `sameAs` (GitHub). D6 — Footer social Added a GitHub link to the footer (simple-icons mark — lucide-react v1 dropped brand icons), structured to accept LinkedIn/X once handles arrive, kept in sync with the JSON-LD `sameAs`. i18n: EN + UK hand-authored; DE/ES/FR/NL/PL/PT filled via DeepL (`pnpm translate`) — including forced re-translation of the changed hero sub + about bio so all 8 locales carry the new "small team" + named-founder copy. `pnpm translate:check` clean. Governance: reconciled the (gitignored, local) CLAUDE.md — the stale "NEVER public pricing" rule is superseded by "pricing signal on /process is allowed" (matches the already-shipped €15k–€60k bands), and the positioning line updated to "small team led by Yaroslav + network". Verified: pnpm typecheck + lint + build clean (152 static pages, zero MISSING_MESSAGE). Dev smoke: proof band renders 12 brand logos + the data-driven "113 merged PRs across 97" line; Process in nav; hero shows "small team of engineers". Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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
Phase D of the growth roadmap — convert. The site was technically pristine but commercially quiet; this surfaces the buried OSS proof, names the founder for authority, and makes the engagement path discoverable.
components/home/upstream-proof-band.tsxbetween Hero and ProjectGrid. Data-driven offaggregates()(113 merged PRs / 97 repos) with a 12-brand logo wall reusingBrandIcon— Node.js, Mozilla, MongoDB, Redis, Puppeteer, React Router, GraphQL, ESLint, Solid, XState, Mantine, Vitest. CTA → /upstream.nav.processkey, mobile numbering now computed); new env-gatedcomponents/cta/book-a-call.tsxwired into /process CTA + home ContactSection (renders only whenNEXT_PUBLIC_CAL_URLis set — live in prod).description+sameAs.sameAs.i18n
EN + UK hand-authored; DE/ES/FR/NL/PL/PT via DeepL (
pnpm translate), including forced re-translation of the changed hero sub + about bio so all 8 locales carry the new copy.pnpm translate:checkclean.Governance
Reconciled the local (gitignored) CLAUDE.md: the stale "NEVER public pricing" rule is superseded by "pricing signal on /process is allowed" (matches the already-shipped €15k–€60k bands); positioning updated to "small team led by Yaroslav + network".
Test plan
pnpm typecheck+pnpm lint+pnpm buildclean (152 static pages, zero MISSING_MESSAGE)/shows proof band;/aboutnames Yaroslav; nav has Process; Book-a-call button appears on/process+ home contact (env-gated); footer GitHub link resolvesDeferred (user-gated, not blocking)
lib/testimonials.tsstill[]— needs real attributed quotes + permission.sameAs.🤖 Generated with Claude Code