Mello v3 — Komplette Roadmap bis Launch (Server-Quality-First)
Datum: 2026-08-19
Status: Brainstorming ✓ → Design ✓ → Execution
Ziel: Musik-App mit Navidrome-Server + lokaler Fallback, konkurrenzfähig zu Spotify/Apple Music
Strategie: Server-Quality-First (Musikserver perfekt machen, dann lokale Features)
🎯 Übersicht: Was wird gebaut?
Hauptfeature
- Navidrome/Subsonic-Server (musik.baka-net.de o.ä.) — Streaming, Caching, Offline-Mode
- Lokale Fallback — lokale Musik-Dateien wenn Server Down
Nicht im Scope (Abo/Werbung)
- ❌ Premium vs. Free Tiers
- ❌ Werbung
- ❌ In-App Purchases
- ❌ Tracking/Telemetry
📋 Phase-Roadmap (Detailliert)
PHASE 1: MVP — Musikserver-Player (Aktuell / 2-3 Wochen)
Ziel: Funktionsfähiger Musikserver-Streaming-Player
P0 — KRITISCH (muss rein)
| Feature |
Beschreibung |
Tech |
Priorität |
| Server-Verbindung |
Login zu Navidrome, Credentials speichern |
NavidromeService |
P0 |
| Album-Browser |
Alben vom Server laden, durchstöbern |
UI + Service |
P0 |
| Play/Pause/Skip |
Basic Player Controls |
just_audio |
P0 |
| Seek/Volume |
Fortschritt, Lautstärke regeln |
just_audio |
P0 |
| Now Playing Screen |
Großes Cover, aktuelle Song-Info |
UI |
P0 |
| Favoriten (Server) |
❤️-Button, Server-Favoriten sync |
Service + DB |
P0 |
| Queue Management |
Nächste Lieder sehen, Skip |
AudioHandler |
P0 |
| Offline-Cache (Basic) |
Lied beim Spielen cachen |
File-System |
P0 |
P1 — WICHTIG (sollte rein, nicht kritisch)
| Feature |
Beschreibung |
Priorität |
| Artists Browse |
Nach Künstler filtern |
P1 |
| Playlisten vom Server |
Server-Playlisten laden |
P1 |
| Recently Added |
Neue Alben zuerst |
P1 |
| Suche |
Global Search im Server |
P1 |
| History/Resume |
Wo war ich beim letzten Song? |
P1 |
P2 — NICE-TO-HAVE
| Feature |
Beschreibung |
Priorität |
| Dark/Light Mode Toggle |
Nur Dark im MVP |
P2 |
| Settings UI |
Grundeinstellungen |
P2 |
🚀 MVP-Launch Checklist
- ✅ Server-Streaming funktioniert stabil
- ✅ Play/Pause/Skip/Seek robust
- ✅ Basic Caching (keine abgebrochene Lieder)
- ✅ 5-Tab UI fertig (Player, Library, Playlists, Search, Settings)
- ✅ 70+ Tests grün
- ✅ Keine Major Bugs
Geschätzt: 2-3 Wochen (läuft parallel mit diesem Plan)
PHASE 2: Server-Stabilität & Offline (1-2 Monate)
Ziel: Musikserver zuverlässig, funktioniert auch offline
P0 — KRITISCH
| Feature |
Beschreibung |
Impact |
Aufwand |
| Intelligentes Caching |
Smart Cache (recent, favorited, pinned) |
Offline funktioniert besser |
Hoch |
| Offline-Mode Toggle |
"Nur gecachte Songs abspielen" |
Daten sparen |
Mittel |
| Buffering & Streaming |
Progressive Download, Retry-Logic |
Stabil streamen |
Hoch |
| Error Handling |
Server Down → Graceful Fallback |
App crasht nicht |
Mittel |
| Lock Screen Controls |
Musik vom Lock Screen steuern |
QoL für User |
Mittel |
| Multi-Device Sync |
Favoriten/History über Devices sync |
Continuity |
Hoch |
| Queue Persistence |
Queue speichern zwischen Sessions |
UX |
Gering |
P1 — WICHTIG
| Feature |
Beschreibung |
Impact |
Aufwand |
| Home Widget |
Now Playing Widget |
Convenience |
Mittel |
| Bluetooth Controls |
Bluetooth-Kopfhörer steuern |
Hardware Support |
Mittel |
| Playlisten lokal erstellen |
Lokal Playlisten bauen |
Offline-Mode |
Mittel |
| Backup/Restore |
Playlisten exportieren |
Data Safety |
Gering |
P2 — NICE
| Feature |
Beschreibung |
Aufwand |
| Download Manager |
Sehen was cached ist, löschen |
Gering |
| Bandwidth Limiter |
"Nur WiFi cachen" |
Mittel |
| Sync Status |
Zeige Sync-Fortschritt |
Gering |
Impact: Nutzer können App überall nutzen, auch offline
Geschätzt: 4-6 Wochen
PHASE 3: Audio-Quality & Lokalmusik (1-2 Monate)
Ziel: Audio klingt professionell + lokale Musik funktioniert
P0 — KRITISCH (Audio-Kern!)
| Feature |
Beschreibung |
Impact |
Aufwand |
| Gapless Playback |
Keine Stille zwischen Liedern |
Album-Sound |
Mittel |
| Loudness Normalization |
Alle Lieder gleich laut (LUFS) |
Komfort (kein Volumen-Jumpen) |
Mittel |
| Crossfade |
2-5s Übergang zwischen Songs |
Smooth |
Gering |
| Equalizer (5-Band) |
Bass/Mids/Treble anpassen |
Audio-Kontrolle |
Mittel |
| Local Music Import |
Dateien vom Handy hinzufügen |
Fallback Feature |
Mittel |
| Metadata Editor |
ID3-Tags bearbeiten (Title, Artist) |
Falsche Daten fixen |
Mittel |
| Duplicate Detection |
Warne vor doppelten Liedern |
Data Hygiene |
Mittel |
P1 — WICHTIG
| Feature |
Beschreibung |
Impact |
Aufwand |
| Stream Quality Selection |
Wähle Bitrate (128/192/320kbps) |
Bandwidth Control |
Gering |
| Visualizer |
Einfacher Musikvisualizer |
Ästhetik |
Mittel |
| Playlist Shuffle (Smart) |
Nicht nur random |
Better UX |
Gering |
| Repeat Modes |
Repeat One/All |
Playback Control |
Gering |
P2 — NICE
| Feature |
Beschreibung |
Aufwand |
|
| Waveform Display |
Visueller Fortschrittsbalken |
Gering |
|
| Speed Control |
0.8x-2.0x Playback Speed |
Mittel |
|
| Folder Browsing |
Explore Ordner-Struktur |
Mittel |
|
Impact: Audio klingt professionell, lokale Musik funktioniert als echte Fallback
Geschätzt: 4-6 Wochen
PHASE 4: UX-Polish & Entertainment (1-2 Monate)
Ziel: App fühlt sich poliert an, macht Spaß zu nutzen
P0 — WICHTIG
| Feature |
Beschreibung |
Impact |
Aufwand |
| Lyrics Display |
Song-Lyrics anzeigen + sync |
Entertainment |
Mittel |
| Sleep Timer |
"Stop nach 30 Minuten" |
Daily UX |
Gering |
| Now Playing Animations |
Smooth Übergänge, Polish |
Feel |
Mittel |
| Search History |
Suchverlauf speichern |
Convenience |
Gering |
| Better Browse |
Genres, Decades, Mood |
Discovery |
Mittel |
P1 — WICHTIG
| Feature |
Beschreibung |
Impact |
Aufwand |
| Mini-Player |
Kompakter Player während Browse |
QoL |
Mittel |
| Gesture Controls |
Swipe = Skip, Double-Tap = Fav |
iPhone-Feeling |
Mittel |
| Haptic Feedback |
Vibration auf Interaktionen |
Feedback |
Gering |
| Smart Playlists |
Auto-playlists (Recently Added, Most Played) |
Organization |
Mittel |
| Playlist Collaboration |
Share Playlists (Link) |
Social |
Mittel |
P2 — NICE
| Feature |
Beschreibung |
Aufwand |
|
| Theme Variants |
AMOLED Mode, True Black |
Gering |
|
| Keyboard Shortcuts |
Space = Play, Arrow = Skip |
Mittel |
|
| Export Playlist |
m3u, pls Format |
Gering |
|
Impact: App fühlt sich wie Profi-App an, nicht Beta
Geschätzt: 3-4 Wochen
PHASE 5+: Advanced Features (Optional)
Ziel: Features die Spotify/Apple Music haben, aber nicht kritisch
P1 — SOLLTE REIN
| Feature |
Beschreibung |
Impact |
Aufwand |
| Tags/Labels |
Zusätzlich zu Playlisten |
Organization |
Mittel |
| Scrobbling (Last.fm) |
Track Listening History |
Personal Stats |
Gering |
| Auto-Recommendations |
KNN-basierte Vorschläge |
Discovery |
Hoch |
| Podcast Support |
Variable Speed, Skip Intro |
Format Support |
Hoch |
P2 — NICE-TO-HAVE
| Feature |
Beschreibung |
Aufwand |
|
| Weekly Recaps |
"Your Top 10 This Week" |
Entertainment |
Mittel |
| Mood/Activity Playlists |
"Working", "Chill", "Party" |
Curation |
Mittel |
| Shared Playlists (Collab) |
Real-time Playlist Collaboration |
Social |
Hoch |
| Mobile App → Web/Desktop |
Sync to Browser |
Platform |
Hoch |
Impact: Feature-Parity mit Spotify/Apple Music
Geschätzt: 2-3 Monate (can be parallel)
📊 Feature-Priorisierungs-Matrix
⏱️ Timeline & Aufwand
| Phase |
Focus |
Dauer |
Team-Größe |
Cumulative |
| 1 |
Server MVP |
2-3 W |
1-2 |
2-3 W |
| 2 |
Offline + Sync |
4-6 W |
2-3 |
6-9 W |
| 3 |
Audio + Local |
4-6 W |
2 |
10-15 W |
| 4 |
UX Polish |
3-4 W |
2 |
13-19 W |
| 5+ |
Advanced |
2-3 M |
1-2 |
3-5 M |
Gesamtschätzung bis Spotify-Parity: ~4-5 Monate (mit 1-2 Entwickler)
🎯 Success Criteria pro Phase
Phase 1 ✓
- Server-Streaming stabil (>95% uptime in Test)
- Keine Critical Crashes
- 50+ Tests grün
- Lokal 5 Lieder cachbar
Phase 2
- Offline-Mode funktioniert komplett
- Multi-Device Sync zuverlässig
- Nutzer können 100+ Songs cachen
- Lock Screen Controls arbeiten
Phase 3
- Gapless Playback funktioniert
- Loudness Normalization auf ±2dB
- Local Musik als echte Fallback
- Metadata Editor ohne Crashes
Phase 4
- Lyrics Sync funktioniert
- Sleep Timer robust
- Mini-Player nie freezes
- App fühlt sich "Finished" an
Phase 5+
- Tags funktionieren parallel zu Playlisten
- Auto-Recommendations mit >70% Accuracy
- Podcast Support stabil
⚠️ Risks & Mitigations
| Risk |
Mitigation |
Phase |
| Server (Navidrome) Down → App broken |
Offline-Mode, Local Fallback |
2 |
| Caching-Bugs verlieren User-Daten |
Rigorous Testing, Backup/Restore |
2 |
| Gapless sehr schwer zu implementieren |
Early Spike (just_audio support prüfen) |
3 |
| Audio-Quality-Probleme bei Stream |
Quality Selection + Bitrate-Tests |
3 |
| Podcast Support braucht viel Code |
Optional in Phase 5+, nicht kritisch |
5 |
🔄 Dependency Tree (Was muss zuerst done sein)
Können parallel: Phase 2 + 3 + 4 (nach Phase 1 MVP done)
📝 Nächste Schritte
- ✅ Brainstorming & Design (dieses Dokument)
- → Implementation Planning (invoke writing-plans skill)
- → Phase 1 Sprint (2-3 Wochen)
- → Phase 2-4 Parallel (10-12 Wochen)
- → Beta Launch (nach Phase 4)
- → Phase 5+ Iterations (Post-Launch)
🔒 Datenschutz-Backlog (Folge-Tasks)
📚 Referenzen
- Design-Decisions:
/home/dustin/.claude/projects/-home-dustin-mello-dev/memory/project_mello-v3-design.md
- Feature-Candidates:
/home/dustin/.claude/projects/-home-dustin-mello-dev/memory/project_mello-feature-candidates.md
- App-Repo:
/home/dustin/mello-dev/app
- Navidrome-Docs: https://www.navidrome.org/docs/
Geschrieben: 2026-08-19 | Status: Ready for Implementation Planning