Skip to content

content: reposition the site as Product Engineer - #56

Merged
raferdev merged 5 commits into
mainfrom
content/product-engineer-positioning
Sep 21, 2026
Merged

raferdev merged 5 commits into
mainfrom
content/product-engineer-positioning

Conversation

@raferdev

Copy link
Copy Markdown
Owner

What

Rewrites the landing page copy and metadata. The site was written in 2023 and still described a beginner — "building a solid base", "starting a software engineering degree", "since January 2022" — which no longer matches the author.

Content and metadata only. No design, colour, typography, animation or component-structure changes: every edit is a text node inside markup that was left exactly as it was.

File Change
greetingSection.tsx Hero line 3 → "And build products end to end" (lines 1, 2 and 4 untouched)
presentationSection.tsx Title → "Product Engineer"; new tagline; body rewritten
footerSection.tsx raferdev@2023 → raferdev@2026
config/site.ts name and description
_layout/metadata.tsx keywords
tests/section.{greetings,presentation,footer}.spec.ts copy assertions

The new body is built around backend and system design, the Node.js / TypeScript / NestJS / Java stack, and production systems handling real money. It keeps the existing 2-then-1 paragraph split so the two-column grid still balances.

Why one edit covers every metadata surface

config/site.ts is the single source: title, description, og:title, og:description, siteName and the whole twitter: card all derive from meta.name / meta.description. Verified in the generated HTML:

<title>Product Engineer | Raferdev</title>
og:title / twitter:title  = "Product Engineer | Raferdev"
keywords = Product Engineer,Node.js,NestJS,Java,Nextjs,Open Source,Raferdev

A grep of the build for Software Engineer, build solutions, Pragmatism and creativity, I have worked since 2019 and raferdev@2023 returns 0 — no stale copy survives.

Verification

  • pnpm run check.eslint — clean
  • prettier --check — clean
  • pnpm run build — passes
  • Playwright, run against the real nginx test stack — 56 passed

For the reviewer

The screenshot baselines will fail and need regenerating. The copy changes the rendered page height, so the PNGs fixed in #55 are now stale. This is expected, not a regression. Fix with the job already on main:

gh workflow run "Playwright Tests" -f update_snapshots=true --ref content/product-engineer-positioning
gh run download -n updated-snapshots -D tests/

Then commit the PNGs and the branch goes green.

One broken link found, deliberately left alone. Of 13 links checked, https://myworldx.com/raferdev returns 404. myworldx.com (200) and the repository (200) are fine — only the profile page is gone. The MyWorldx section stays as-is since the project is being picked back up; removing anything is the author's call.

Two things worth a decision, not changed here:

  • config/site.ts:13 — metadata.links.github still points at github.com/raferdev/landing-page, the old repo name. It only returns 200 because GitHub redirects renamed repos, and it disagrees with links.self.repository, which already uses rafer.dev.
  • Java and NestJS logos were considered and skipped: the PNGs don't exist in public/logos/, and each "planet" carries its own gradient, per-breakpoint absolute positioning and a Storybook story. That's layout work, which this PR deliberately avoids.

raferdev and others added 3 commits September 20, 2026 17:57
The copy described a beginner ("building a solid base", "starting a software
engineering degree", "since January 2022") and no longer matches the author.

- Hero third line: "And build solutions" -> "And build products end to end".
  The other three lines are untouched.
- Section title: "Software Engineer" -> "Product Engineer".
- Tagline: now names what the role actually covers, first commit to production.
- Body: rewritten around backend and system design, the Node.js/TypeScript/
  NestJS/Java stack, and production systems handling real money. Kept the
  existing 2-then-1 paragraph split so the two-column grid still balances.
- Footer year: 2023 -> 2026.

Markup, classes and component structure are unchanged; only text nodes differ.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
site.ts is the single source for the page title, description, og:title,
og:description, siteName and the twitter card, so one edit updates every
metadata surface.

Also widens the keyword list with Product Engineer, Node.js, NestJS and Java.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The greeting, presentation and footer specs assert the exact strings that
changed, so they would fail against the new copy. Constants only; no change to
what the tests actually check.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8aea866

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
landing-page Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
rafer.dev Error Error Sep 21, 2026 1:37am UTC

The longer description grew the page by 28px (chromium 4156 -> 4184, mobile
5514 -> 5586), so the committed baselines no longer matched. Regenerated with
the `update_snapshots` workflow job rather than locally, since baselines only
render identically to the check that asserts them when they are produced in the
same environment.

Taken on Ubuntu 24.04.5 LTS with the pinned playwright 1.63.0, matching the
test job.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
changeset-bot flagged that the PR would merge without a version bump. The copy
and metadata are user-facing, and package.json's version feeds site.ts's
rum.version, so the Datadog tag should move with the content.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@raferdev
raferdev merged commit 2106aa4 into main Sep 21, 2026
3 checks passed
@raferdev
raferdev deleted the content/product-engineer-positioning branch September 21, 2026 01:58
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