Skip to content

feat(home): first-run overview — feature tour + your center + feed peek#294

Merged
KishParikh13 merged 1 commit into
v2from
design/home-first-run-overview
May 28, 2026
Merged

feat(home): first-run overview — feature tour + your center + feed peek#294
KishParikh13 merged 1 commit into
v2from
design/home-first-run-overview

Conversation

@KishParikh13

Copy link
Copy Markdown
Collaborator

What

Replaces the sparse first-run Home (which read as "dead" for a brand-new member) with a guided overview that teaches the whole app at a glance and surfaces real, personal content.

When a member hasn't engaged yet (no joined events and no board posts), Home shows:

  1. WELCOME TO JANATA — feature tour. Three tappable rows that double as navigation:
    • 🧭 Discover events & centers → Explore
    • 🗓️ RSVP in a tap → Explore
    • 💬 Join the conversation → Feed
  2. YOUR CENTER — real center name + city + member count, routing to the center board. Falls back to a "Choose your home center" prompt when no center is set.
  3. LATEST ON YOUR BOARD — a feed peek (reuses BoardPostCard) when the center board has posts.

Real events still render below (Up next / Coming up).

Why

Per the MSC-launch feedback, the demo home looked empty/confusing to a first-time viewer. This gives new users an immediate mental model of what Janata does, plus clear next steps and their own center.

Trigger (easy to tune)

Shown only while signedUpEvents.length === 0 && boardPeek.length === 0. It self-resolves the moment the member joins an event or a post appears — an engagement nudge that gets out of the way. Returning members with activity keep the existing layout. If we later want it strictly first-N-visits, a localStorage dismissal is the natural next step.

Verification

  • Web (mobile width) as a no-center fresh signup → tour + "Choose your home center".
  • Web as a member with a center → tour + "Chinmaya Mission Boston · Boston, MA · 245 members" card.
  • npm run test:frontend187 pass. No new tsc errors in the touched file.

🤖 Generated with Claude Code

New/unengaged members (no joined events, no board posts) previously saw a
sparse Home that read as dead. Replace that empty state with a guided
first-run overview so a new user grasps the whole app at a glance:

- "Welcome to Janata" feature tour: three tappable rows (Discover events &
  centers → Explore, RSVP in a tap → Explore, Join the conversation → Feed)
  that double as navigation.
- "Your center" card with real name + city + member count, routing to the
  center board; falls back to a "Choose your home center" prompt when no
  center is set.
- "Latest on your board" feed peek (reuses BoardPostCard) when the center
  board has posts.

Real events still render below (Up next / Coming up). The overview is shown
only while signedUpEvents and boardPeek are both empty, so it gets out of the
way the moment the member joins an event or a post lands — an engagement
nudge that self-resolves. Returning members keep the existing layout.

Verified on web (mobile width) for both the no-center and has-center states.
frontend tests: 187 pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@KishParikh13 KishParikh13 merged commit 5f674ce into v2 May 28, 2026
1 check was pending
KishParikh13 added a commit that referenced this pull request May 28, 2026
The first-run overview (#294) gated on `boardPeek.length === 0`, but the
overview's "Latest on your board" peek renders only when posts exist — so the
peek could never show: the moment a post existed, isNewUser flipped false and
the overview disappeared.

Base "new user" on discovery state instead: hasn't joined an event yet
(`signedUpEvents.length === 0`), independent of posts. Now a member who has
joined no events still sees the tour + their center + a live peek of their
board's activity, and it self-resolves once they RSVP. Returning members with
joined events keep the normal home (which carries its own #293 boards peek).

Verified on web: seeded a post on the local center board and confirmed the
peek renders inside the overview. frontend tests: 187 pass.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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