Skip to content

amicode: first-run onboarding wizard — welcome UI that autofills home-page affiliation + logo - #6

Merged
Rchari1 merged 6 commits into
local/amicodefrom
rchari/onboarding-wizard
Jul 9, 2026
Merged

amicode: first-run onboarding wizard — welcome UI that autofills home-page affiliation + logo#6
Rchari1 merged 6 commits into
local/amicodefrom
rchari/onboarding-wizard

Conversation

@Rchari1

@Rchari1 Rchari1 commented Jul 8, 2026

Copy link
Copy Markdown
Member

First-run onboarding wizard (Aaron's ask): a dedicated welcome UI that autofills the home page's affiliation + logo.

What it does

  • 3 steps: brand welcome → about-you (name prefilled from the vault mount; institution with the live Clearbit→Wikidata logo lookup; focus; optional Scholar) → profile preview + Open chat ↗.
  • Saves through the existing POST /amicode/profile — the home page's About-You card autofills instantly (affiliation, torch-grade brand logo, the works). No new server surface.
  • Shows exactly once: only for a genuinely fresh profile (no affiliation/scholar/focus saved) and never after a dismiss ("Skip for now" is remembered in webview localStorage). Completing OR hand-filling the profile card suppresses it permanently. Decision is made once per page load after the profile resolves, so the mid-wizard profile refetch can't unmount the preview step.
  • Same race discipline as the profile card: debounced suggest, out-of-order guard, logo-resolution counter holds Continue.

Library — papers that make Amico smarter (added per review)

Also IN the wizard: a fourth step ("Teach Amico your work") between about-you and the finish — upload PDFs during onboarding with a ✓-list and a continue-without-papers path; the step disappears entirely when upload isn't wired. The home Library card remains for ongoing additions.
The "Start something" starter-chips card is replaced by a Library card (Open chat already owns "start something"). Upload PDFs from the home page → POST /amicode/library stores them in ~/.amico/library (basename-sanitized, %PDF- magic check, 30MB cap); the card shows the count + latest and "Discuss latest →" starts a chat handing the agent the paper's path. Pairs with the amicode-side read grant so the agent can open the files without an ask-prompt. GET /amicode/library lists newest-first. Tests on save/list/sanitize/reject.

Refactor

institution-lookup.ts — the Clearbit/Wikidata/Wikipedia/favicon pipeline extracted from home-cards into a shared pure module; the About-You card and the wizard both use it (card keeps its own debounce/signals).

Pairs with

amicode PR (same branch name): the chat's conversational overture now skips its session-zero interview when the wizard already saved identity — no double onboarding.

Verification

ui typecheck + 66 tests green (incl. shouldShowWizard predicate + lookup module); live-tested end-to-end in the dev host: fresh profile → wizard → NYU picked → Wikidata torch logo resolved → saved → home page autofilled → relaunch shows no wizard.

🤖 Generated with Claude Code

Rchari1 and others added 6 commits July 8, 2026 12:31
…ion-lookup.ts — shared by the About-You card and the onboarding wizard; card keeps debounce/sequencing/race guards

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… about-you with live institution/logo lookup → profile preview + open chat); saves through POST /amicode/profile so the home page autofills affiliation + logo; shows exactly once (fresh profile, dismiss remembered) + tests

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… the starter chips (Open chat owns 'start something'); PDFs upload via POST /amicode/library into ~/.amico/library (sanitized basename, %PDF- magic check, 30MB cap), GET lists newest-first; 'Discuss latest →' hands the agent the paper path + tests

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…' (upload PDFs between about-you and the finish; ✓-list of uploads, continue-without-papers path; step skipped when upload isn't wired); home Library card stays; shared fileToBase64 util

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…mo udd hit exactly this) + trunk

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… demoted to the quiet secondary — the autofilled home is the payoff shot

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Rchari1
Rchari1 merged commit 012c079 into local/amicode Jul 9, 2026
0 of 4 checks passed
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