Skip to content

Path to the app stores (PWA now; Capacitor wrap or React Native via Expo) #10

Description

@Oranburg

Intent

Define and begin the path to the Apple and Android app stores for havruta, choosing between wrapping the existing PWA with Capacitor and rebuilding the shell with React Native via Expo.

Context

Havruta is a React plus Vite PWA and is headed for the Apple App Store and Google Play. There are two realistic paths: wrap the existing web app in a native shell with Capacitor (keeps the current codebase, ships fastest) or move the shell to React Native via Expo (more native, more rework). The app already works as an installable PWA, which is the interim distribution. Relevant context: the existing build output, the service worker, the API calls to Sefaria, and the study-partner integration.

Tasks

  • Compare Capacitor (wrap the existing web app) against React Native via Expo (rebuild the shell) on effort, how much of the current code survives, native feature access, and store-review risk.
  • Recommend a path and record why.
  • For the recommended path, list the concrete first steps: app IDs, icons and splash screens, the store listings, the developer accounts needed (Apple Developer Program, Google Play Console), and the build and signing setup.
  • Confirm the PWA stays the interim distribution while the store path is built.
  • Scope what a first store-ready build needs (no payment, no account system beyond what exists) so the first submission is small.

Acceptance criteria

  • A written recommendation (Capacitor or Expo) with reasoning.
  • A concrete first-steps checklist for the chosen path.
  • The PWA remains installable and unaffected.

Constraints

  • Stack stays React plus Vite plus PWA as the base; the store path builds on it, it does not replace the web app.
  • Do not change repository visibility, branch protection, or move or delete files.
  • Keep the existing Sefaria text sourcing and credits intact.

Activity

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

    enhancementNew feature or request

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions