Skip to main content

Landing page design

Status: Approved (redesign) — 2026-09-07. Supersedes the M46 retrofit design of record; implemented within M46 by #913 (shell), #914 (greenfield page), and #915 (adopt page). The Adopt boards were revised on 2026-09-07 (rev6) to align their mechanism copy with shipped repo adoption after #912's verification — owner decision recorded on #907.

Canonical study

  • Penpot file: Bloom Landing - Redesign Studies in project Bloom Landing
  • Workspace URL: https://bloom-design.exe.xyz/#/workspace?team-id=15cab2bd-418a-81a7-8008-69cdbdab9f82&file-id=5dd62968-2fdd-80b0-8008-98862b2ee098&page-id=5dd62968-2fdd-80b0-8008-98862b2f38ba
  • Approved boards (design of record):
    • Landing Hybrid - Desktop 1120 / Landing Hybrid - Mobile 390 — the greenfield journey
    • Landing Adopt - Desktop 1120 / Landing Adopt - Mobile 390 — the existing-repo journey
  • Comparison studies (provenance, not of record): Landing A (conversation-first), Landing B (artifact-trail) — kept on the same page.
  • Snapshots: M46 #907 - landing redesign studies rev5 (cross-journey nav, backlog delegation, wont-do swap, owner copy edit) — the approval snapshot, verified byte-identical to the reviewed state; M46 #907 - landing redesign studies rev6 (Adopt copy aligned to shipped repo adoption - owner option 2 on #912) — the Adopt frames' current state (copy-only revision of four mechanism lines; Hybrid frames unchanged since rev5).
  • Approval evidence: owner approval recorded on issue #907 (comment of 2026-09-07); review conducted in the Penpot workspace. The rev6 copy revision was the owner's explicit choice (option 2 on #912) and is recorded on #907.

Previews of record

Known limitation: the Penpot PNG exporter was unavailable (/api/export → 400) and export_frame_svg emits geometry-only wireframes, so previews are pixel-honest local renders from the build manifests using the instance's own Source Sans Pro fonts — not Penpot-native exports.

BoardFilePreview
Hybrid Desktop 1120reference/landing-hybrid-desktop-1120.pngLanding Hybrid - Desktop 1120
Hybrid Mobile 390reference/landing-hybrid-mobile-390.pngLanding Hybrid - Mobile 390
Adopt Desktop 1120reference/landing-adopt-desktop-1120.pngLanding Adopt - Desktop 1120
Adopt Mobile 390reference/landing-adopt-mobile-390.pngLanding Adopt - Mobile 390

The M46-5 retrofit previews (reference/landing-desktop-1120.png, reference/landing-mobile-390.png - full-page captures of the pre-redesign implementation) are superseded by the boards above and were removed with this revision; they remain in git history at commit 0dad207.

Implementation captures (evidence, not the design of record): full-page renders of the shipped / and /adopt routes at the same two widths, taken with headless Chromium from a local apps/landing build of the m46 tip after M46-10 (commit cdf592d). They sit next to the boards so the fidelity reviews recorded under "Open review findings" can be re-checked without rebuilding.

RouteWidthFileCapture
/ (greenfield)1120reference/landing-hybrid-impl-desktop-1120.pngShipped greenfield page - desktop 1120
/ (greenfield)390reference/landing-hybrid-impl-mobile-390.pngShipped greenfield page - mobile 390
/adopt1120reference/landing-adopt-impl-desktop-1120.pngShipped adopt page - desktop 1120
/adopt390reference/landing-adopt-impl-mobile-390.pngShipped adopt page - mobile 390

Structure

Hybrid (greenfield journey):

  1. Header — logo, nav (The artifacts / Adopt a repo), dashboard button
  2. Hero — Public Beta badge, split layout: headline + mock Bloom interview card (discovery question, deferred choice recorded as a PRD assumption, "PRD draft ready - awaiting your approval" chip)
  3. Journey switch — "Bringing an existing repository? → See the adoption path"
  4. What a project leaves behind — six artifact cards on an alternating timeline: PRD, milestone plan, UI design studies (user picks the direction), GitHub issue, reviewed PR, deployment awaiting approval
  5. You stay the approver — PRD / every plan revision / go-live
  6. What Bloom won't do — replace your judgment / decide architecture alone / code ad-hoc
  7. CTA — "Start with a sentence" + dashboard/docs/GitHub; Google sign-in disclosed
  8. Footer

Adopt (existing-repo journey):

  1. Header — logo, nav (How adoption works / Start from scratch), dashboard button
  2. Hero — Public Beta badge, split layout: headline + GitHub App install card (repo bound, read-only snapshot, change-tickets planned against the code, PRs target the default branch)
  3. Journey switch — "Starting from scratch? → See the greenfield path"
  4. How adoption works — install the App / start from your codebase / normal pull requests / your gates stay
  5. Grow the team at your own pace — Engineers / Product owner + reviewers / Designers, with the keep-your-gates closing line
  6. What Bloom won't do — shared section
  7. CTA — "Bring Bloom to your repo"; Google sign-in disclosed
  8. Footer

Hard rules for this surface

  • Content traceability: every claim on the page traces to a repo source of truth (README.md, PRD.md, docs/getting-started/what-is-bloom.md, docs/core-workflows.md, docs/repo-adoption.md).
  • No fake affordances: every drawn control maps to a destination or capability that exists today (dashboard, docs, GitHub, in-page anchors).
  • Sign-in honesty: the dashboard CTA always discloses Google sign-in.

Open review findings

  • Traceability items — both resolved (#912):
    1. "Public Beta" — repo sources updated by PR #917 (README, docs overview, docs index, Docusaurus tagline).
    2. "Picks up open, unclaimed tickets and delegates them" — verified not shipped; the Adopt copy was aligned to shipped repo adoption (rev6: Bloom plans change-tickets against the existing codebase and delegates those). Backlog import of pre-existing issues is tracked in #918 outside M46; the Adopt page's step 2 gets upgraded when it ships.
  • IA decision for implementation: the two journeys cross-link via the switch strips; whether they ship as one page with two sections or two routes is an implementation-time decision — either satisfies the approved design. Resolved by M46-8 (#913 / PR #919): two prerendered routes, / and /adopt.
  • Implementation fidelity — greenfield page (M46-9, PR #920): reviewed against both Landing Hybrid frames from a local build of the m46 tip (1120 and 390 wide, full page). Section order, hierarchy, the alternating artifact trail with its center line, the dotted approver columns, and every copy string match; no horizontal overflow at either width; no arbitrary values or hex literals. Verdict: approve, no findings.
  • Implementation fidelity — adopt page (M46-10, PR #921): reviewed the same way against both Landing Adopt frames (rev6). Split hero with the install card, the switch strip, the four numbered steps on a connector line collapsing to a stack, the three bordered role cards plus closing line, won't-do, final CTA, and footer all match; every copy string is the rev6 copy of record; no horizontal overflow at 1120 or 390. Verdict: approve, no findings.

Known limitations / forward notes

  • Boards use the Penpot instance's Source Sans Pro; the web app loads no custom font (system stack). Typography fidelity at implementation is governed by the UI review checklist, not by font matching to the boards.
  • No analytics exist on the landing page; click telemetry remains a future, privacy-respecting enhancement.
  • Journey maps: ux-journey.md (greenfield persona) and ux-journey-adopt.md (engineering-lead persona) — one persona per map.