Skip to content

Improve initial-load performance of the member dashboard via streaming/SSR #248

Description

@Lakes41

Difficulty: Advanced | Type: Performance

Background: This is a Next.js 14 App Router app, which supports React Server Components, streaming, and Suspense boundaries for progressive rendering.

Problem: If the member dashboard currently fetches membership/profile/resource data entirely client-side after hydration, first-load performance suffers (extra client-server round trips) compared to what App Router's streaming SSR could provide.

Expected Outcome: Non-wallet-dependent initial data (e.g. community info, public resource listing) is server-rendered/streamed, while wallet-dependent data (membership status for the connected address) hydrates client-side, with appropriate Suspense boundaries so the page shell renders immediately.

Suggested Implementation: Convert applicable dashboard sub-sections to Server Components fetching directly from the live API (server-side, avoiding CORS/client bundle cost) where they don't depend on the connected wallet, wrap wallet-dependent sections in Suspense with the skeletons from #1, and measure the before/after with Next.js's built-in performance tooling or Lighthouse.

Acceptance Criteria:

  • Community/public resource sections render via SSR/streaming without waiting on wallet connection.
  • Wallet-dependent sections still hydrate correctly client-side once connected.
  • Measured improvement in Largest Contentful Paint / Time to First Byte, documented in the PR.

Likely Affected Files/Directories: app/(member)/*, app/layout.tsx, lib/api/live.ts

Labels: performance, architecture, GrantFox OSS, Maybe Rewarded, Official Campaign | FWC26

Metadata

Metadata

Assignees

Labels

GrantFox OSSGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsarchitectureStructural / design-level changeperformancePerformance optimization or latency/throughput improvement work

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions