How kiseding/koyze works
Koyze is a cross-platform Flutter music app: users search online and local catalogs, choose playable tracks, manage playback and libraries, and optionally sync account data across devices. Its core music experience is documented as local-first and does not require login or a server. The graph also shows the optional Workers sync service and its playlist-import capability. Flutter implementation files were not included in the supplied tree, so app feature nodes use only the documented enclosing paths; app-internal wiring is limited to the README’s stated data flow.
Main entry points: features Flutter app UI · index.ts Worker API · playlist-import.ts Import route · db D1 database
Components 26
Music app
- Flutter app UI
lib/features - Search and sources
lib/features - Music platforms
- Custom JS sources
lib/features - Playlist import
lib/features - Player and queue
lib/features - Lyrics
lib/features
Library and playback
- Local library
lib/features - Downloads and cache
lib/features - Playlists and backups
lib/features - Listening stats
lib/features - Recommendations
lib/features
Optional cloud sync
- Sync client
lib/features - Worker API
workers/src/index.ts - Account auth
workers/src/routes/user/auth.ts - Sync routes
workers/src/routes/user/sync.ts - Sync event routes
workers/src/routes/user/sync-events.ts - Import route
workers/src/routes/playlist-import.ts - Import adapters
workers/src/sources - D1 database
workers/src/db - KV cache
workers/src/db/sync-events.ts - Rate limiter
workers/src/middleware
Platform integrations
- Audio services
- Device files and controls
Other components
- Listener
- QQ, Kuwo, NetEase
Connections 31
- Listener → Flutter app UI: uses
- Flutter app UI → Search and sources: requests search
- Search and sources → Music platforms: searches
- Search and sources → Local library: searches
- Search and sources → Custom JS sources: queries enabled source
- Flutter app UI → Player and queue: controls playback
- Player and queue → Audio services: plays through
- Player and queue → Downloads and cache: uses cache
- Player and queue → Lyrics: loads lyrics
- Flutter app UI → Local library: manages library
- Device files and controls → Local library: provides audio files
- Flutter app UI → Downloads and cache: manages downloads
- Downloads and cache → Local library: adds completed tracks
- Flutter app UI → Playlists and backups: manages playlists
- Flutter app UI → Listening stats: views statistics
- Listening stats → Recommendations: informs preferences
- Recommendations → Music platforms: finds recommendations
- Flutter app UI → Sync client: configures sync
- Sync client → Worker API: sends sync requests
- Worker API → Account auth: dispatches auth
- Worker API → Sync routes: dispatches sync
- Worker API → Sync event routes: dispatches events
- Worker API → Import route: dispatches imports
- Account auth → D1 database: reads and writes users
- Sync routes → D1 database: reads and writes sync data
- Sync event routes → D1 database: stores events
- Sync event routes → KV cache: stores state
- Import route → Import adapters: searches and imports
- Import adapters → QQ, Kuwo, NetEase: fetches playlists
- Import route → D1 database: saves playlist
- Import route → Rate limiter: checks limits