Skip to content

hire-me: Try it now strip on home - #57

Open
CosmonautJones wants to merge 2 commits into
mainfrom
hire-me/try-it-now
Open

CosmonautJones wants to merge 2 commits into
mainfrom
hire-me/try-it-now

Conversation

@CosmonautJones

Copy link
Copy Markdown
Owner

Summary

Adds a "Try it now" strip to the home page, right after the hero. It has three tiles: Article to Markdown (internal tool), TableSense, and Alcubemy (both external, open in a new tab).

  • New src/components/portfolio/try-it-now.tsx. The data comes from the new TRY_IT_NOW constant in src/lib/constants.ts.
  • Tile media reuses each project's existing PROJECTS image. Alt text reuses the card alt or caption (Alcubemy: "Water meets lava. Captured in Alcubemy."). No new images.
  • Styling follows existing patterns: glass-card tiles, a label-mono eyebrow and badges (same as the Selected work section), rounded-full CTAs with a visible focus-visible outline, and min-h-11 touch targets.
  • Accessibility: the section uses aria-labelledby pointing at the h2. Each tile is an article labelled by its h3. External CTAs use target="_blank" rel="noopener noreferrer" with aria-label="Play … (opens in a new tab)".
  • Layout: 1 column on mobile and 3 columns at lg.
  • New test: src/components/portfolio/__tests__/try-it-now.test.tsx checks the heading and section label, tile order, CTA labels, hrefs, target and rel, new-tab aria-labels, media alt text, and that the strip contains no digits or stakes language.

Copy source

The copy is used verbatim from the Portfolio Copy lock (TRY-IT-NOW.md, 2026-10-21). The strip has no numbers, TableSense keeps its Working prototype badge, and there is no stakes or real-money language.

Test plan (QA)

  • At 1440px, the strip sits directly under the hero with 3 tiles in one row, in this order: Article to Markdown, TableSense, Alcubemy.
  • At 390px, the tiles are in 1 column with no horizontal scroll or overflow.
  • "Use the tool" opens /work/article-to-markdown in the same tab.
  • "Play TableSense" opens https://cosmonautjones.github.io/poker-pokr/ in a new tab.
  • "Play Alcubemy" opens https://alcubemy.travisjohnjones.com/ in a new tab.
  • Tabbing through the strip shows a visible focus ring on each CTA.
  • npm run lint, npm run test, and npm run build all pass.

Local results: lint passed (0 errors, 1 warning that was already there in use-game-engine.ts). Vitest: 105 files and 979 tests passed. Build passed. tsc --noEmit reports 5 errors, all in existing test files, none from this PR. A headless check showed no overflow at 390 (scrollWidth is 390), 3 columns at 1440, and 1 column at 390.

Do not merge until Trav.

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