#28 — Epic: Prepare public launch, community infrastructure, and initial user onboarding
Summary
Build a first-run onboarding experience for new users who sign up or log in for the first time. This includes a welcome screen explaining the core concepts of librenot.es (notes as markdown files, wikilinks, graph view), a guided walkthrough of the UI, and optionally seeding the user's notebook with a sample welcome note that demonstrates key features.
Acceptance Criteria
First-time users see a welcome screen or modal after initial login
A sample welcome/getting-started note is created in the user's notebook on first login
Users can dismiss the onboarding and not see it again (state persisted per tenant)
Onboarding works correctly on both desktop and mobile viewports
Returning users are not shown the onboarding again
Dependencies
#13 (magic link login UI) — onboarding triggers after first successful login
#15 (tenant-scoped localStorage) — onboarding dismissal state is stored per tenant
#29 (documentation) — onboarding content should align with the user guide
Scope Notes
Does not include admin onboarding or self-hosting setup wizard
Does not include email-based drip campaigns or follow-up emails
Does not include analytics or tracking of onboarding completion rates
The onboarding UI should be lightweight vanilla JS, consistent with the existing frontend approach
## Parent
#28 — Epic: Prepare public launch, community infrastructure, and initial user onboarding
## Summary
Build a first-run onboarding experience for new users who sign up or log in for the first time. This includes a welcome screen explaining the core concepts of librenot.es (notes as markdown files, wikilinks, graph view), a guided walkthrough of the UI, and optionally seeding the user's notebook with a sample welcome note that demonstrates key features.
## Acceptance Criteria
- [x] First-time users see a welcome screen or modal after initial login
- [x] Onboarding explains core features: creating notes, markdown editing, wikilinks, graph view
- [x] A sample welcome/getting-started note is created in the user's notebook on first login
- [x] Users can dismiss the onboarding and not see it again (state persisted per tenant)
- [x] Onboarding works correctly on both desktop and mobile viewports
- [x] Returning users are not shown the onboarding again
## Dependencies
- #13 (magic link login UI) — onboarding triggers after first successful login
- #15 (tenant-scoped localStorage) — onboarding dismissal state is stored per tenant
- #29 (documentation) — onboarding content should align with the user guide
## Scope Notes
- Does not include admin onboarding or self-hosting setup wizard
- Does not include email-based drip campaigns or follow-up emails
- Does not include analytics or tracking of onboarding completion rates
- The onboarding UI should be lightweight vanilla JS, consistent with the existing frontend approach
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
#28 — Epic: Prepare public launch, community infrastructure, and initial user onboarding
Summary
Build a first-run onboarding experience for new users who sign up or log in for the first time. This includes a welcome screen explaining the core concepts of librenot.es (notes as markdown files, wikilinks, graph view), a guided walkthrough of the UI, and optionally seeding the user's notebook with a sample welcome note that demonstrates key features.
Acceptance Criteria
Dependencies
Scope Notes