SkateSpots/ZAPSTORE.md
shakespeare.diy 27e14994b5 Import files from skate-spots project
Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-06-15 20:04:15 +07:00

5.2 KiB

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

Convert the PWA to a native Android app using one of these tools:

A. Capacitor (Recommended)

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

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

npm install -g zapstore-cli

Step 2: Create zapstore.yaml in project root

# 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

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

❓ 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! 🛹⚡