# Publishing SkateSpots to Zapstore Zapstore is a permissionless, Nostr-based app store for Android. However, **SkateSpots is a web app (PWA)**, not a native Android APK, so direct Zapstore publishing isn't applicable in the traditional sense. ## ๐Ÿค” Current Situation **SkateSpots is:** - โœ… A Progressive Web App (PWA) - โœ… Installable on Android, iOS, and Desktop - โœ… Built with React/Vite (web technologies) - โŒ NOT a native Android APK **Zapstore is designed for:** - โœ… Native Android APK files (.apk) - โœ… Apps compiled for Android (Java/Kotlin) - โŒ NOT for web apps or PWAs ## ๐Ÿš€ Options to Get SkateSpots on Zapstore ### Option 1: Create a Native Android Wrapper (Recommended for Zapstore) Convert the PWA to a native Android app using one of these tools: **A. Capacitor** (Recommended) ```bash npm install @capacitor/core @capacitor/cli npx cap init npx cap add android npm run build npx cap copy npx cap open android ``` Then build APK in Android Studio and publish to Zapstore. **B. PWA Builder** - Visit https://www.pwabuilder.com/ - Enter your deployed URL: https://skate-spots.com - Generate Android APK - Sign and publish to Zapstore **C. Trusted Web Activity (TWA)** - Create a minimal Android app that wraps your PWA - Requires Android development setup - More control but more complex ### Option 2: Promote PWA Installation (Current Best Option) Since SkateSpots is already a PWA, you can: **On Android:** 1. Open https://skate-spots.com in Chrome 2. Tap menu โ†’ "Add to Home Screen" 3. App installs like a native app 4. Works offline, has app icon, full-screen experience **Advantages:** - โœ… Works NOW without any changes - โœ… No app store approval needed - โœ… Cross-platform (Android, iOS, Desktop) - โœ… Instant updates (no app store review) - โœ… Users already have it available **Promote this in your marketing:** - "Install SkateSpots PWA from your browser" - Add installation instructions to homepage - QR code linking to https://skate-spots.com ### Option 3: Publish as Nostr Event (Alternative Distribution) Even without an APK, you could publish app metadata to Nostr: **Use Zapstore NIPs for visibility:** - Kind 32267: App metadata - Include your PWA URL - Tag as "web app" or "PWA" - Zapstore users might discover it even if they can't install via Zapstore This wouldn't enable Zapstore installation but would list your app in the Nostr ecosystem. ## ๐Ÿ“ If You Want to Proceed with Native Android (Zapstore-ready) ### Step 1: Install Zapstore CLI ```bash npm install -g zapstore-cli ``` ### Step 2: Create `zapstore.yaml` in project root ```yaml # Repository (optional - for open source apps) repository: nostr://npub1yrnuj56rnen08zp2h9h7p74ghgjx6ma39spmpj6w9hzxywutevsst7k5cx/git.shakespeare.diy/skate-spots # Name of the app name: SkateSpots # App identifier (reverse domain notation) identifier: com.skatespots.app # Description summary: Decentralized skate spot discovery on Nostr # Icon (path to icon file) icon: public/images/icon-512.png # Screenshots images: - public/images/screenshot-1.png - public/images/screenshot-2.png # APK files to publish (regex pattern) assets: - output/.*.apk # Categories/tags tags: - skateboarding - nostr - social - sports - maps # Remote metadata sources remote_metadata: - github ``` ### Step 3: Build Android APK Using Capacitor, PWA Builder, or manual Android development. ### Step 4: Publish to Zapstore ```bash zapstore publish ``` You'll be prompted to sign with: - Your nsec (secret key) - Browser extension (NIP-07) - Nostr Connect bunker ### Step 5: Published! - App goes live immediately (no approval process) - Listed on relay.zapstore.dev - Discoverable via Nostr social graph - Users can zap you directly ## ๐ŸŽฏ My Recommendation **For NOW:** 1. โœ… Keep promoting PWA installation (works great!) 2. โœ… Add PWA install instructions to homepage 3. โœ… Create installation guide in docs/FAQ **For FUTURE (if you want native Android):** 1. Use **Capacitor** to wrap SkateSpots as native Android app 2. Build signed APK 3. Create `zapstore.yaml` config 4. Publish to Zapstore with `zapstore publish` ## ๐Ÿ”— Useful Links - **Zapstore Website**: https://zapstore.dev - **Zapstore Docs**: https://zapstore.dev/docs - **Zapstore CLI**: https://zapstore.dev/docs/publish - **GitHub**: https://github.com/zapstore/zapstore - **Download Zapstore App**: https://zapstore.dev (for Android users) ## โ“ Questions? **Q: Can I publish a PWA to Zapstore?** A: Not directly. Zapstore expects .apk files. You'd need to wrap your PWA as a native Android app first. **Q: Do I need to pay to publish?** A: No! Publishing is free and permissionless. Anyone with a Nostr pubkey can publish. **Q: Will users pay for the app?** A: Apps can be free or paid. Users can zap (tip) developers directly via Lightning. **Q: How do updates work?** A: Run `zapstore publish` again with new APK. Users get notified of updates. **Q: Can iOS users use Zapstore?** A: No, Zapstore is Android-only. iOS users can install your PWA via Safari's "Add to Home Screen". --- **Bottom line:** SkateSpots is currently a PWA, which is already installable on Android (and iOS/Desktop). To publish to Zapstore, you'd need to create a native Android APK wrapper first. The PWA approach is working great for now! ๐Ÿ›นโšก