Skip to content

epic: ship Calendar and My Shows as the first fan-retention milestone #49

Description

@chubes4

Problem

extrachill-app already exists, but current main is an authenticated shell with a placeholder Feed. Calendar, event details, Going, My Shows, Local Scene, push handling, native deep-link routing, and app analytics are not implemented in the app.

Broad app issues track search (#3), push (#11), and deep links (#13), but none owns a bounded native live-music beta.

Product outcome

Compose existing Events and Users products into the app's first measurable fan loop:

Local Scene -> Tonight/This Weekend -> event detail -> Going -> My Shows -> relevant return

This issue owns app composition and release boundaries, not backend event or notification policy.

Verified app foundation

  • Expo/React Native app exists.
  • wp-native-shell and wp-native-client own auth/navigation/ability execution.
  • App is currently authenticated-only by plan and AuthGate behavior.
  • Custom URL scheme exists, but native event routing does not.
  • App push dependencies/device registration do not exist.
  • No app analytics contract exists.

Workstreams

1. Native Events home

  • Saved Local Scene.
  • Tonight and This Weekend.
  • Near Me only after location permission, denial, and fallback behavior are scoped.

2. Native event detail

  • Canonical title, venue/location, date/time, ticket browser exit, and relevant artist/venue links.
  • Going/Check In/I Was There through the existing attendance contract.
  • Explicit native-versus-browser boundaries.

3. Native My Shows

  • Upcoming and past owner views.
  • Owner-only upcoming behavior.
  • Clear stale/offline/error semantics.

4. Local Scene and consent

  • Save Local Scene through Users.
  • Keep Local Scene save, email digest opt-in, and mobile push permission as separate actions.

5. Bounded push and deep-link slice

6. Authentication decision

  • Default this beta to the existing authenticated-only architecture.
  • Any guest discovery requires a separate explicit change to AuthGate/product policy and is not assumed here.

7. Instrumentation

  • Define privacy-safe mobile events for event view, Going, My Shows revisit, Local Scene, push receipt/open, and return.
  • Define analytics owner, anonymous/authenticated behavior, and cross-native attribution before setting a success threshold.

Dependencies

Non-goals

  • No requirement to ship every network feature before testing this loop.
  • No follower graph.
  • No app-store release without explicit operator authorization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions