Skip to content

first-run onboarding redesign - #5348

Open
shomix wants to merge 1 commit into
mainfrom
shomix-p-onboarding-redisgn
Open

shomix wants to merge 1 commit into
mainfrom
shomix-p-onboarding-redisgn

Conversation

@shomix

@shomix shomix commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

The onboarding flow now starts with a short role question, then goes straight to a single "Choose your setup" screen. The old separate "intro" screen and "manual keys" screen are gone, so setup takes fewer steps.

First Screen:
image

Second Screen:

needs one more pass to match it the new design

image

@builder-io-integration builder-io-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builder reviewed your changes and found 2 potential issues 🟡

Review Details

Code Review Summary

PR #5348 simplifies first-run onboarding by replacing the intro/manual-key sequence with role selection followed by a consolidated setup-choice screen, while preserving Builder connection, optional tools, extension completion, and signup coverage. The state-transition refactor and focused test updates are directionally sound, and the existing tests/guards reported by reviewers pass. This is a standard-risk change because it modifies shared onboarding behavior and user-facing localization.

Key Findings

  • 🟡 MEDIUM — New setup choice copy is hard-coded in English: the redesigned screen adds headings, descriptions, credit text, capability headings/statuses, and manual setup CTA as literals, so supported non-English locales render a mixed-language onboarding flow.
  • 🟡 MEDIUM — Localized Builder capabilities are duplicated: the duplicate filter compares translated capability labels with English-only service names, causing overlapping capabilities such as Voice input and Embeddings to appear twice for non-English users, with the duplicate in English.

The role-screen and consent-copy catalog updates are a good pattern; the same approach needs to cover the newly added choice-screen copy.

🧪 Browser testing: Will run after this review (PR touches UI code); the initial planner run was blocked because Chrome/browser automation tools were unavailable, despite the dev server being healthy.

Comment on lines +648 to +649
<h1 className="text-[28px] font-bold leading-tight tracking-[-0.02em] text-foreground">
Choose your setup

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Localize the new setup-screen copy

The redesigned first-run choice screen introduces visible English literals for the title/subtitle, card headings and descriptions, credit text, capability headings/statuses, and the manual-setup CTA. Because these are not passed through useT() or added to locale catalogs, users with non-English locales see a mixed-language onboarding flow. Move the new copy, including Required/Recommended/Optional labels, into the onboarding message catalogs.

Additional Info
Reported by 3/3 parallel reviewers.

Fix in Builder

Comment on lines +712 to +719
{BUILDER_MORE_SERVICES.filter(
(service) =>
!builderCapabilities.some(
(capability) =>
getCapabilityCopy(
t,
capability,
).label.toLowerCase() === service.toLowerCase(),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Compare Builder services by stable capability identity

The duplicate filter compares translated capability labels with English-only BUILDER_MORE_SERVICES values. In non-English locales, built-in capabilities such as Voice input and Embeddings do not match and are rendered a second time as raw English entries. Compare stable capability IDs, or localize the extra-service data, instead of comparing rendered labels.

Additional Info
Reported by 3/3 parallel reviewers.

Fix in Builder

@github-actions

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

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.

2 participants