Skip to content

Code-split the apps/web bundle #31

Description

@themightychris

Context: PR #28 ships every public screen statically imported by App.tsx. The production bundle is 550 kB (164 kB gzipped), which vite warns about at build time.

The cheapest fix is React.lazy() on each screen so each route splits naturally. The shell + home are the hot path; everything else can lazy-load.

Acceptance:

  • No single chunk > 200 kB gzipped
  • First-paint route (/) loads only the hero + shell-needed code
  • Smoke tests still pass (lazy + Suspense boundary doesn't break the render harness)

Activity

  1. added this to the Post-cutover milestone on May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions