First setup, end to end
"ideally, we can start the process somewhere on memex.meshweaver.cloud. they create an account there, then they initiate the process there." — the owner, 2026-10-17.
This is the journey of a person who has never used memex, from the public instance's front door to an assistant that is connected to their life. It is written as a process: one stage at a time, where it lives, what happens, what the system does, and what the stage must leave behind before the next one makes sense. The last section is the same journey as a walk-through — the checklist to run on the public instance after a release.
The process starts on the public instance and never leaves it. Nothing is installed, nothing is sent to the person by mail first: they arrive, they sign in, they are walked through.
The journey at a glance
| # | Stage | Where | Leaves behind |
|---|---|---|---|
| 1 | Arrive | /welcome |
— |
| 2 | Sign in | /login → the identity provider → back |
a verified identity (email) |
| 3 | Create the account | /onboarding |
the person's own node {you}, Active |
| 4 | Meet the assistant | /area/{you}/GettingStarted |
the welcome passed |
| 5 | Communications | wizard chapter | mail / calendar / messaging connected; mail preferences set |
| 6 | Accounts & services | wizard chapter | whatever the installed packages offer, connected |
| 7 | Your home | wizard chapter | Apple Music / Home Assistant connected |
| 8 | More | wizard chapter | the learning path chosen (when the Learning Roadmap is installed) |
| 9 | Done | wizard finish → / |
the launcher; the chat line takes over |
| 10 | Living with it | chat, inbox, settings | triage, copies, reminders — and every answer changeable |
Every stage after 4 is optional: Set up later skips it for good, the chapter strip and Back keep it reachable, and the settings app keeps every switch. Nothing a person skips is lost; it just stops being asked.
1. Arrive — /welcome
A visitor who is not signed in lands on the welcome page: what memex is, Sign in, and the three steps it promises (sign in, set up your profile, start exploring). Nothing is created yet.
2. Sign in — /login
The person picks an identity provider the instance offers (Microsoft, Google, Apple, GitHub — what the deployment configured) and comes back with a verified identity: the email the provider vouches for. This is the only credential memex ever asks for; there is no memex password.
3. Create the account — /onboarding
The first sign-in has no account behind it, so the portal shows the onboarding form: full name,
username, email (prefilled from the identity). Submitting it creates the person's own node — their
partition {you} — and marks it Active.
The gate in front of it (OnboardingGate.Decide) is open by default: anyone who authenticates
may create an account. An instance can narrow it to invitation only (Features__Onboarding__InvitationOnly,
Invitation-Only Onboarding): then an admin invites an
email first and only an invited, verified email passes; the very first user of a fresh deployment
always passes. The form says which case applies before the person types anything.
Exit: the Active user node exists. The portal then redirects to /area/{you}/GettingStarted —
unless the person arrived through a deep link (an invitation to a particular place), which wins;
their first new chat then carries the next step instead.
4. Meet the assistant — `/area/
This is where the process the owner asked for begins, and it is also where it can be re-entered at
any time: the URL is stable — /area/{you}/GettingStarted, with a panel's id appended to land on
that panel — so a person who skipped everything can come back a week later, from the address bar,
from the launcher or from the settings app. (The chat line's Start is not this route: it opens the
suggested step's own target directly, see §10.)
The page is the setup wizard (The setup wizard), built to feel like setting up a new device: the portal's bare page, one panel at a time in a centred card, a chapter strip above it with the done chapters ticked, Step k of n, and Back · Set up later · Continue below. The first panel is the assistant's own:
Hi, I'm Memex. I'm your assistant, and I'm here to help you run your life — not just answer questions. I read what arrives and sort out what matters. I tell you where you are needed and prepare replies you only have to approve. I keep your calendar, your files and your home in view, and I act where you let me — never anywhere else. For that I need to be connected to the places your life happens … It takes a few minutes, every step is optional, and you can change all of it later in your settings.
Continue marks the welcome done and opens the first chapter that has something in it. The wizard shows only chapters the installed packages contribute to — a small installation gets a short wizard, not a tour of empty rooms — and it waits with a loading line until every panel source has answered, so nobody is handed a welcome-and-finish they could complete before the panels arrive.
5. Communications
The assistant introduces the chapter ("Let's start with how people reach you … I read through your own accounts, with your permission, and I never send anything you haven't seen"), then:
Connect your accounts. The connection tiles — Microsoft 365 (mail and calendar through the Executive Assistant's consent), Teams, iMessage on a Mac, whatever this installation offers — each with its state and the one action it calls for. Connect on Microsoft 365 leaves the app for the consent page and comes back to this very panel (the panel's URL is the return target), where the tile now reads Connected. This step is done only by connecting something; Set up later skips it.
Your mail. The assistant explains, then asks the three questions the owner wanted asked, as a
form bound to the person's own preferences ({you}/_Mail/Preferences):
- Should your mail be sorted before you read it? — what is important, what can wait, what is noise, and a tag for what each message needs (reply, act, decide, read). Default: yes.
- Should replies be prepared before you read? — a prepared reply lands as a draft in the person's own Drafts folder; they edit it, and nothing goes out until they press Send. Default: no. The panel says plainly that this is not active yet on the installation: the choice is remembered, and drafting starts with a coming Mail update.
- Should a copy of your mail be kept here, and how far back? — the window (last month, three months, a year) on the form, and the one Keep a copy of Outlook in memex switch right under it, with its confirmation on the way off. Default: live, no copy.
Exit: at least the mail account is connected and the preferences node exists with the person's answers. Connecting nothing is allowed; the chapter then stays open and the chat line keeps offering it.
6. Accounts & services
"Next, the services you use — your calendar, your files, signing, and whatever else you work with. Each connection is yours: stored in your own space, encrypted, and revocable at any time."
The chapter lists whatever the installed packages contribute here — a package adds its panel as a
UiContribution with context: Onboarding and group: accounts. On an installation where no
package contributes to it yet, the assistant does not announce the chapter at all.
7. Your home
"Entertainment and automation — your music, your lights, your house." Two panels today, each shown only to a person who holds the package:
- Apple Music — the package's own Connection panel: the MusicKit key, and the one-time Apple sign-in that unlocks the person's own playlists and recent additions. Once connected the assistant can search the catalog, play the 30-second previews and browse the person's library.
- Home Assistant — the URL and long-lived token of the person's own Home Assistant, stored in their own copy. Once connected: lights, scenes, sensors, the dashboard embedded.
8. More
Anything a package contributes without naming a chapter, and the Getting-started steps modules contribute in code — today Find your learning path, from the Learning Roadmap, which opens the roadmap and is done when chosen.
9. Done
"That's it. Whatever you skipped waits for you in your settings, and whenever you open a new chat I'll remind you of the one thing most worth doing next. Let's get started." Finish goes to the launcher. The wizard stays at its URL; every panel keeps its own.
10. Living with it — what the system does from here
Once connected, the assistant works without being asked:
- Mail is triaged as the inbox is read — every untriaged message of a person whose sorting is on
is offered to the triage pass (an EU model), and the verdict (important or ignorable, tags, one-line
reason) joins the live row;
/{you}/Inboxshows the tags as categories and hides noise by default (Personal triage). A person who switched sorting off is offered to no model. - A copy backfills in the background when it is on — the chosen window first, then new mail follows; search covers the text and messages open without a round trip. Stopping it deletes the copies, never the mailbox.
- The chat line carries the next step — on every new chat, one line: the first open Getting-started step, with Start and Not now; plus one tip. Start opens that step's own target directly — the Accounts tab for Connect your accounts, a page, or a command put into the composer — it does not continue the wizard; the wizard is re-entered through its own URL (§4). The line reads the Getting-started step sources, not every panel a package contributes to the wizard. A step done or dismissed in a chat is done in the wizard and the other way round: one ledger.
- Everything is changeable in the person's own settings app: Settings → Mail (the three answers), Inbox copies (the switch and the state of the copy), Accounts and Messaging (every connection, with Manage / Fix / Retry), and each package's own tab (Home Assistant, Apple Music, …).
- Pending: the pre-drafter that acts on replies prepared before reading — a pass over the
reply-tagged verdicts of a person who said yes, drafting through the Executive Assistant's ownDraftReplyinto their Drafts; the person edits, and nothing is sent by it. Until it lands the answer is recorded and the panel says so.
Walking it on the public instance
The checklist for a release, as a fresh person (a sign-in that has never had an account here):
- Open the public instance signed out → the welcome page; Sign in; pick a provider; come back.
- The onboarding form appears (or says the instance is invitation-only); submit it → you land on
/area/{you}/GettingStarted— a bare full-screen page, Hi, I'm Memex, the chapter strip with Welcome lit and Step 1 of n. - Continue → the communications introduction → Continue → the connection tiles. Connect Microsoft 365 → consent → you are back on the same panel, the tile reads Connected, and the chapter is ticked once every step in it is done.
- Continue → Your mail: press Set my mail preferences, change the window to The last month, press Keep a copy of Outlook in memex → the copy's status appears under the form with its start date one month back.
- Walk the remaining chapters with Continue / Set up later; on Finish you land on the launcher.
- Open a new chat: no setup line (everything done or skipped) but the
/feedbacktip; open/{you}/Inboxafter a few minutes: rows carry tags; open Settings → Mail: your answers. - Return to
/area/{you}/GettingStarted: every chapter in the strip is ticked and the finish panel shows.
What a stage must NOT do, and the reading that proves it: a visitor to /area/{someone-else}/GettingStarted
sees one line, never their panels; a person without the Home Assistant package sees no home chapter;
a copy switched off asks first and lists nothing afterwards; a chat-dismissed step is not offered again
by Continue.
Where the stages are implemented
| Stage | Code |
|---|---|
| 1–3 | src/Memex.Portal.Gui/Pages/{Welcome,Login,Onboarding}.razor; the gate in core (OnboardingGate, Invitation-Only Onboarding) |
| 4–9 | the AI engine's setup wizard, src/MeshWeaver.AI/Onboarding/ — The setup wizard |
| 5 Connect | GettingStartedAreas.OnboardingConnectionsView + the Connections layer (Getting started and Connections) |
| 5 Mail | src/MeshWeaver.Mail.MicrosoftGraph/Inbox/{MailOnboardingPanel,MailPreferences,MailCopySettings}.cs, node Mail/Onboarding/Mail |
| 7 | HomeAssistant/Onboarding/HomeAssistant, AppleMusic/Onboarding/AppleMusic |
| 8 | MeshWeaver.Courses LearningPathStepSource (an IChatNudgeSource) |
| 10 | OutlookMailboxQueryProvider (triage offer), OutlookMailCopy + MailCopyKeeper (copies), GettingStartedAreas.ChatNudgesView (the chat line) |