RangeCompanion

Phase P4

prd · v1

03.06.2026, 22:51

stableDoD 9/10↗ GitHub
# 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_