← RangeCompanion
Phase P4
prd · v1
03.06.2026, 22:51
# PRD — RangeCompanion MVP **Phase:** P4 — **Status:** active — **Version:** v1 — **Erstellt:** 2026-06-03 22:51 --- ## 1. Zusammenfassung RangeCompanion ist eine Compliance-first PWA für WBK-Inhaber in Deutschland. Dieses PRD definiert den MVP-Scope: was gebaut wird, was draussen bleibt, welche Nutzergeschichten das System löst, und welche technischen Anforderungen gelten. Grundlage: Brief v0.1.iter2, Business Case v1.iter2, Personas v1. Validierungsstand: N=3 Discovery-Gespräche (Jun 2026) — Anforderungen sind Hypothesen bis n≥20 qualitative Interviews abgeschlossen sind (explizit markiert). --- ## 2. Produkt-Ziele & Erfolgsmetriken ### 2.1 MVP-Ziele (OKR-Format, Q3/Q4 2026) | Ziel | Messgrösse | Zielwert | |------|------------|----------| | PMF-Indiz messen | Wöchentliche aktive Nutzer / Gesamtregistrierungen | >= 40 % WAU/Reg | | Retention validieren | 30-Tage-Retention nach Registrierung | >= 35 % | | WTP bestätigen | Anteil Free-Nutzer die zu Compliance+ upgraden | >= 15 % | | Compliance-Kern-Nutzen | Nutzer die Compliance-Cockpit mindestens 1x/Woche öffnen | >= 60 % der aktiven | | NPS-Proxy | Qualitative Interview-Empfehlungsrate | >= 50 % würde weiterempfehlen | Offener Punkt: Zielwerte sind Hypothesen. Anpassen nach ersten 30 Beta-Nutzern. ### 2.2 Anti-Ziele (was dieses MVP NICHT optimiert) - Maximale Nutzeranzahl (Pre-PMF: Qualität vor Menge) - iOS App Store Rankings - B2B-Umsatz (Post-PMF-Scope) - Internationalisierung --- ## 3. User Stories (nach Persona) ### 3.1 Stefan Berger (Primär-Persona — WBK-Sportschütze) **US-001 — Compliance-Status auf einen Blick** Als Stefan will ich beim Öffnen der App sofort sehen ob alle § 14 WaffG-Anforderungen erfüllt sind (Ampel-Status: Grün/Gelb/Rot), damit ich keine Behördenanfrage fürchten muss. Akzeptanzkriterien: - Dashboard zeigt pro WBK-Waffe den Compliance-Status (Nachweis-Soll vs. Ist) - Rot wenn < 18 Pflicht-Schüsse/Halbjahr nachgewiesen (konfigurierbarer Schwellenwert) - Gelb wenn < 80 % des Soll-Wertes, aber Frist noch nicht abgelaufen - Grün wenn Soll erfüllt - Zeitpunkt der letzten Prüfung sichtbar **US-002 — Schießbuch-Eintrag anlegen** Als Stefan will ich nach jedem Schießstand-Besuch in unter 60 Sekunden einen Eintrag anlegen können, damit die Dokumentation keine Lust zum Schießen kostet. Akzeptanzkriterien: - Formular: Datum, Stand (Freitext + Favoriten), Waffe (aus Inventar), Munition/Kaliber, Schussanzahl - Optionales Foto (Zielscheibe als Nachweis) - Eintrag offline speicherbar, sync bei Reconnect - Bestehende Einträge editierbar und löschbar (mit Löschprotokoll) **US-003 — Behörden-Export generieren** Als Stefan will ich auf Knopfdruck ein PDF-Schießbuch für die Behörde exportieren können, damit ich bei Anfragen ohne Panik reagiere. Akzeptanzkriterien: - PDF-Export: alle Einträge im gesetzlichen Format (Datum, Stand, Waffe, Kaliber, Schussanzahl) - Filterbar nach Zeitraum und Waffe - PDF enthält Name, WBK-Nummer (optional manuell eingebbar), Erstellungsdatum - Download im Browser und Share-Sheet auf iOS möglich **US-004 — Waffen-Inventar verwalten** Als Stefan will ich meine WBK-Waffen einmalig erfassen und danach beim Schießbuch-Eintrag nur noch aus der Liste auswählen, damit ich keine Fehler beim Kaliber-Eintrag mache. Akzeptanzkriterien: - CRUD für Waffen: Bezeichnung, Hersteller, Modell, Kaliber, WBK-Bindung, optionales Foto - Waffe als archiviert markierbar (bei Verkauf) ohne Datenverlust in Historien-Einträgen - Waffen-Detailansicht zeigt Compliance-Status direkt **US-005 — Reminder vor Compliance-Lücke** Als Stefan will ich 30 Tage vor Ablauf eines Nachweis-Zeitraums eine Erinnerung bekommen, damit ich rechtzeitig zum Schießstand gehe und keine Lücke entsteht. Akzeptanzkriterien: - Konfigurierbare Vorlauf-Erinnerung (Standard 30 Tage, anpassbar auf 14/60 Tage) - Benachrichtigung per PWA-Web-Push oder E-Mail (Nutzer wählt in Einstellungen) - Keine Spam: max 1 Erinnerung pro Waffe pro Zeitraum - Opt-out in Einstellungen ### 3.2 Miriam Kessler (Sekundär-Persona — Jägerin) **US-006 — Multi-WBK-Unterstützung** Als Miriam will ich mehrere WBK-Nummern (Jagdwaffen + Sportwaffen) in einem Account verwalten können, damit ich nicht zwischen Apps wechsle. Akzeptanzkriterien: - Nutzerprofil erlaubt mehrere WBK-Einträge - Dashboard zeigt Compliance-Status je WBK separat - Pro-Tier Voraussetzung (Freemium-Grenze: 1 WBK) Offener Punkt: § 13 WaffG (Jagdwaffen) vs. § 14 WaffG (Sportschützen) haben unterschiedliche Nachweispflichten. MVP behandelt primär § 14. § 13-Abdeckung muss mit Rechtsberater geklärt werden vor Pro-Tier-Release. Platzhalter in UI: § 13 Modus (Beta, rechtliche Prüfung ausstehend). **US-007 — Fristen-Übersicht mehrerer Rechtsgrundlagen** Offener Punkt: Jagdschein- und Pacht-Fristen sind ausserhalb des § 14-Compliance-Kerns. MVP zeigt nur WBK-Pflichten. Miriam-spezifische Fristen-Integration ist Post-PMF. ### 3.3 Thomas Riedl (Design-Partner — Vereinsvorstand) **US-008 — 4-Augen-Approval für Vereinsmitglied-Einträge** Als Thomas will ich eine Anfrage eines Mitglieds zur Bestätigung seines Schießbuch-Eintrags mit einem Klick genehmigen oder ablehnen können, damit ich keine Screenshot-E-Mails mehr verwalte. Akzeptanzkriterien: - Mitglied sendet Eintrag zur Bestätigung an Vereins-Approver - Approver erhält Push/E-Mail mit Link zur Bestätigungs-Ansicht - Bestätigung oder Ablehnung mit optionalem Kommentar - Bestätigter Eintrag erhält visuelles Siegel im Schießbuch-Export - Approver-Rolle: vereinfachtes Account-Modell (kein eigenes Waffen-Inventar nötig) Offener Punkt: B2B-Vereins-Dashboard (Überblick aller Mitglieder) ist Post-PMF. Thomas nutzt MVP als Design-Partner ohne Bezahlung. ### 3.4 Max Fuchs (Tertiär-Persona — WBK-Neueinsteiger) **US-009 — Geführtes Onboarding für WBK-Neuinhaber** Als Max will ich beim ersten Start verstehen was ich als neuer WBK-Inhaber dokumentieren muss, damit ich keine unwissentlichen Fehler mache. Akzeptanzkriterien: - 3-Schritt-Onboarding: WBK-Eckdaten → erste Waffe anlegen → erstes Schießbuch-Datum - Kurze Erklär-Texte zu § 14 Pflichten ohne Juristendeutsch - Überspringbar (Ich weiss was ich tue-Button) --- ## 4. Feature-Spezifikationen MVP ### F01 — Compliance-Cockpit Compliance-Logik (§ 14 WaffG-Kern, Stand Jun 2026): - Sportschütze muss Bedürfnis nachweisen: regelmässiges Schiessen mit WBK-Waffe - Richtwert: min. 18 Schüsse je Kaliber in 12 Monaten (Verbandsempfehlung BDS) - Nachweis-Zeitraum: rollierend 12 Monate oder behördlich festgelegter Zeitraum Offener Punkt (OQ-001): Exakter gesetzlicher Mindestwert muss durch Rechtsberater bestätigt werden. Aktuell konfigurierbar im System; Standard 18 Schüsse/12 Monate als Platzhalter. UI-Elemente: - Karte pro Waffe: Waffenname, Kaliber, Ampel-Status, Schüsse im Zeitraum, Fehlende Schüsse - Globale Ampel oben: Alles ok / Handlungsbedarf bei X Waffen - Nächste Frist-Banner falls innerhalb 60 Tage --- ### F02 — Digitales Schießbuch Datenmodell Eintrag: - id (UUID, auto PK) - user_id (UUID, FK users) - weapon_id (UUID, FK weapons) - session_date (Date, Pflicht — Datum des Schießens) - range_name (Text, Pflicht — Schießstand-Name) - ammunition_caliber (Text, von Waffe übernommen; überschreibbar) - shots_fired (Integer, Pflicht) - evidence_photo_url (Text, optional) - notes (Text, optional) - approval_status (Enum: pending/approved/rejected) - created_at / updated_at (Timestamp, auto) Offline-Strategie: IndexedDB via Supabase-Offline-Patterns. Sync bei Reconnect. Offener Punkt: Konflikt-Auflösung bei Race Conditions — Tech-Spike vor Sprint 1 nötig. --- ### F03 — Waffen-Inventar Datenmodell Waffe: - id, user_id, name, manufacturer, model, caliber (Pflicht), wbk_reference - legal_basis (Enum: §14 / §13 — §13 = Beta-Modus) - acquired_at, archived_at (NULL = aktiv), photo_url --- ### F04 — 4-Augen-Approval Workflow Flow: 1. Schütze erstellt Eintrag → wählt Bestätigung anfordern → Auswahl des Approvers 2. Approver-Account muss vorhanden sein (per E-Mail einladen) 3. Approver erhält Benachrichtigung → öffnet Bestätigungs-Ansicht 4. Approve oder Reject mit Kommentar 5. Eintrag erhält approval_status + approved_by + approved_at Offener Punkt (OQ-008): Guest-Approver via signiertem Link (kein Account nötig) — MVP nutzt Account-Modell; Guest-Link ist Post-MVP. --- ### F05 — Reminder-System Prüfung täglich (Cron-Job via Supabase Edge Function). Trigger: Wenn (Soll-Schüsse - Ist-Schüsse) > 0 UND Frist < X Tage. Standard-Vorlauf: 60, 30, 14 Tage (konfigurierbar). Kanal: Web-Push (PWA Notifications API) + E-Mail Fallback (Resend). --- ### F06 — Behörden-Export (PDF) PDF-Inhalt: - Header: Name, WBK-Nummer (optional), Exportdatum, Zeitraum-Filter - Tabelle: Datum, Schiesstand, Waffe, Kaliber, Schussanzahl, Approval-Status - Footer: Erzeugt mit RangeCompanion — rangecompanion.de Technologie: Entscheidung nach Tech-Spike (jsPDF clientseitig vs. Puppeteer serverseitig). Offener Punkt (OQ-002): Rechtsberater-Review des PDF-Formats empfohlen. --- ### F07 — Onboarding 3-Screen-Flow: 1. Willkommen + Kern-Wert-Prop 2. Erste WBK-Waffe anlegen 3. Erstes Schießbuch-Datum optional (oder Später) Auth: E-Mail/Passwort (MVP). OAuth (Apple/Google) Post-MVP. --- ## 5. Nicht-funktionale Anforderungen Performance: - Time to Interactive (Lighthouse, 4G) < 3.5 Sekunden - Compliance-Cockpit Load-Zeit < 1.5 Sekunden - Schießbuch-Eintrag erstellen (Offline) < 200ms Formular-Response - PDF-Export Generierungszeit < 10 Sekunden Offline: Kernfunktionen offline verfügbar; automatischer Sync bei Reconnect. Sicherheit: - Supabase EU-Region (Frankfurt) - Row-Level Security (RLS): Nutzer sieht nur eigene Daten — PFLICHT - DSGVO: Datenschutzerklärung + Lösch-Funktion vor Launch - TLS überall; keine WBK-Daten in Logs Browser-Support (Prio): - Safari iOS 16+ (kritisch — iPhone-dominant Zielgruppe) - Chrome Android 110+ (hoch) - Chrome Desktop 100+ (hoch) iOS-Hinweis: Web Push erst ab iOS 16.4. Nutzer < 16.4 erhalten E-Mail-Reminder. --- ## 6. Out of Scope (MVP) - iOS / Android Native App (Post-PMF) - Foto-Scoring / Ringrechner (Post-PMF) - B2B-Vereins-Dashboard mit Mitglieds-Übersicht (Post-PMF) - § 13 WaffG Vollabdeckung (Jagd) — Rechtsklärung ausstehend - Verbands-API / Direktanbindung Behörden (langfristig) - OAuth Login (Post-Beta) - Multi-Sprache / i18n (Post-PMF) - Dark Mode (Post-Beta) - ShootingBook/Excel-Daten-Import — Offener Punkt (OQ-006): Sprint-2-Scope prüfen --- ## 7. Technische Architektur (MVP) Stack: - Frontend: Next.js 14 (App Router) + shadcn/ui + Tailwind CSS - PWA/Offline: next-pwa (Workbox) - Backend/DB: Supabase (Postgres, RLS, Edge Functions) - Auth: Supabase Auth (E-Mail/Passwort) - Hosting: Vercel - E-Mail: Resend - Payment: Stripe oder Paddle — Offener Punkt (OQ-003): Entscheidung Sprint 0 - PDF: jsPDF oder Puppeteer — Offener Punkt (OQ-004): Tech-Spike Sprint 0 Supabase-Schema (Tabellen): - users / user_profiles (Plan-Tier, Notification-Präferenzen) - weapons (FK user_profiles) - shooting_sessions (FK weapons) - approvals (FK shooting_sessions) - compliance_rules (Admin-editierbar) - reminders_log (Deduplizierung) Domains: rangecompanion.de (aktiv), rangecompanion.com (Reserve) Staging: staging.rangecompanion.de via Vercel Preview --- ## 8. Monetisierung & Paywall-Logik | Feature | Free | Compliance+ 7,90 EUR/Mo | Pro 12,90 EUR/Mo | |---------|------|------------------------|------------------| | Schießbuch-Einträge | max. 12/Jahr | Unbegrenzt | Unbegrenzt | | Compliance-Cockpit | Nein | Ja | Ja | | Reminder-System | Nein | Ja | Ja | | Behörden-Export PDF | Nein | Ja (1 WBK) | Ja (alle WBKs) | | Waffen-Inventar | max. 1 | max. 3 | Unbegrenzt | | Multi-WBK | Nein | Nein | Ja | | 4-Augen-Approval | Nein | Ja | Ja | | Foto-Nachweis | Nein | Ja | Ja | Trial: 14-Tage-Trial für Compliance+ ohne Kreditkarte (E-Mail-Only). Offener Punkt (OQ-005): Free-Tier-Grenzen nach Beta-Daten re-evaluieren. --- ## 9. Sprint-Grobplan (Orientierung — Details in P5 Build-Plan) | Sprint | Scope | |--------|-------| | Sprint 0 (1 Woche) | Tech-Spikes: PDF-Export, Offline-Sync, Zahlungsanbieter-Entscheidung | | Sprint 1 (2 Wochen) | Auth + Onboarding + Waffen-Inventar + Schießbuch-CRUD | | Sprint 2 (2 Wochen) | Compliance-Cockpit + Reminder-System (E-Mail first) | | Sprint 3 (2 Wochen) | PDF-Export + 4-Augen-Approval + Web-Push | | Sprint 4 (1 Woche) | Paywall-Integration + Beta-Härtung + DSGVO-Checks | | Beta-Launch | n=50 Beta-Nutzer (BDS-Kanal + WaidCoach-Netzwerk) | --- ## 10. Offene Punkte (Priorisiert) | ID | Punkt | Priorität | |----|-------|-----------| | OQ-001 | § 14 WaffG exakter Mindestwert per Rechtsberater bestätigen | Kritisch — vor Sprint 1 | | OQ-002 | § 13 WaffG Abdeckung für Jäger-Scope klären | Hoch — vor Beta | | OQ-003 | Stripe vs. Paddle Entscheidung (EU-VAT) | Hoch — Sprint 0 | | OQ-004 | PDF-Export Technologie-Wahl | Hoch — Sprint 0 | | OQ-005 | Free-Tier-Grenzen nach Beta-Daten re-evaluieren | Mittel — 30 Tage nach Beta | | OQ-006 | ShootingBook-Daten-Import Sprint-2-Scope? | Mittel — Sprint 1 Ende | | OQ-007 | WTP-Validierung durch n≥20 Discovery-Interviews | Hoch — parallel Sprint 1 | | OQ-008 | Approver-Modell: Account-Pflicht oder Guest-Link | Mittel — Sprint 3 Start | | OQ-009 | Monitoring-Stack für Beta (Sentry ja/nein) | Niedrig — Sprint 4 | --- ## 11. Definition of Done — P4 PRD - [x] Alle MVP-User-Stories vollständig beschrieben (US-001 bis US-009) - [x] Feature-Spezifikationen mit Akzeptanzkriterien (F01-F07) - [x] Nicht-funktionale Anforderungen definiert - [x] Out-of-Scope explizit dokumentiert - [x] Tech-Stack-Entscheidungen mit Status (Entschieden/Offen) - [x] Monetarisierungs-Tier-Gates definiert - [x] Offene Punkte vollständig und priorisiert - [ ] Rechtsberatung § 14 WaffG abgeschlossen (OQ-001) — steht aus - [ ] Discovery-Interviews n≥20 abgeschlossen — steht aus - [ ] Tech-Spikes (PDF, Offline) abgeschlossen (Sprint 0) — steht aus --- _Auto-generiert via vm-venture-zero @ vos-hupsi-bot_