/account — "Manage your profile, plan, and learners." Signed out, it is a sign-in wall: "Your profile, plan, and learners live here."
There is no separate settings page. Everything a user can configure is on this one screen, in four cards.
Name, avatar, and Member since. Save changes commits it.
What you are on now, with Compare plans into /pricing and direct upgrades:
During the launch promo this card reads Early access · free / Nothing to bill — because nothing is billed while the promo is open. See 8 · Plans, access and learners for what changes on 2026-09-15.
Read that carefully: the mode is derived per learner, not chosen. This control is a preview of what a tier looks like, plus a switcher for trying one on. TierPreview renders the sample.
The theme applies only to learning surfaces — never to account or marketing pages. A tier that looks stuck is nearly always localStorage rather than a bad deploy.
The profile list, showing n / cap where the cap comes from your plan — 1 on Curious or Band, 4 on Family. Per learner: Change avatar, Learner name, Remove learner. Below the cap, + Add learner appears.
Each learner keeps their own progress, streak and mastery. Switching who is learning happens from the top-bar picker, not here.
Admins see "You have admin access." and Open admin panel →. The link is rendered from the signed-in user's role — see 20 · The admin backend.
Progress is local-first and syncs to the cloud when signed in. SyncStatus in the UI reports the current state.
One rule that is not visible in the UI and matters enormously: a sync must never treat an empty local state as authoritative. Wiping a cloud profile because a fresh device had nothing on it is the single worst bug this surface can have, and it has been guarded against — do not remove that guard when refactoring.