How divya-a10/mypod works
myPod combines a local-audio library service and responsive player with a Tauri iOS app for managed imports, cataloging, playlists, Spotify import review, and conservative audio matching. The desktop workflow loads tracks through a platform adapter, then plays them through a shared controller and platform-specific driver; explicit scans index audio in the backend. iOS import and playlist capabilities are documented and represented by their source modules, though their UI-to-command wiring was not shown. Recommendation modules exist, but the README describes recommendation features as future work. Arrows use only relationships shown in excerpts or README; unsampled command wiring is not inferred.
Main entry points: library.py Library endpoints · ios_catalog.rs On-device catalog · ios_spotify_import.rs Spotify import · scanner.py Directory scanner
Components 27
Player interface
- App UI
apps/desktop/src/App.tsx - Library adapter
apps/desktop/src/library/libraryAdapter.ts - Library contracts
apps/desktop/src/library/contracts.ts
Playback
- Playback controller
apps/desktop/src/playback/PlaybackController.ts - Playback runtime
apps/desktop/src/playback/runtime.ts - HTML audio driver
apps/desktop/src/playback/HtmlAudioPlaybackDriver.ts - Native audio driver
apps/desktop/src/playback/IosNativePlaybackDriver.ts
Local library service
- Desktop API
apps/desktop/src/api.ts - Library endpoints
backend/app/api/library.py - Directory scanner
backend/app/library/scanner.py - Audio metadata
backend/app/library/metadata.py - Backend SQLite
backend/app/database.py - Service settings
backend/app/config.py - CSV preview endpoint
backend/app/api/spotify_preview.py - CSV validator
backend/app/library/spotify_csv.py
iOS catalog and imports
- On-device catalog
apps/desktop/src-tauri/src/ios_catalog.rs - Audio matching
apps/desktop/src-tauri/src/ios_audio_matching.rs - Playlist management
apps/desktop/src-tauri/src/ios_playlists.rs - Spotify import
apps/desktop/src-tauri/src/ios_spotify_import.rs - iOS CSV preview
apps/desktop/src-tauri/src/ios_spotify_preview.rs - Catalog backup
apps/desktop/src-tauri/src/ios_backup.rs - iOS playback
apps/desktop/src-tauri/src/ios_playback.rs
Recommendations
- Recommendation API
backend/app/api/recommender
Other components
- Listener
- Local audio files
- Library database file
- Spotify CSV
Connections 33
- Listener → App UI: uses
README.md - App UI → Library adapter: loads library
apps/desktop/src/App.tsx - Library adapter → Desktop API: selects desktop
apps/desktop/src/library/libraryAdapter.ts - Library adapter → Library contracts: implements
apps/desktop/src/library/libraryAdapter.ts - App UI → Playback controller: subscribes
apps/desktop/src/App.tsx - Playback runtime → Playback controller: creates
- Playback runtime → HTML audio driver: selects desktop
- Playback runtime → Native audio driver: selects iOS
- Playback controller → HTML audio driver: drives
apps/desktop/src/playback/HtmlAudioPlaybackDriver.ts - Playback controller → Native audio driver: drives
apps/desktop/src/playback/IosNativePlaybackDriver.ts - Desktop API → Library endpoints: requests tracks
apps/desktop/src/api.ts - Desktop API → CSV preview endpoint: posts preview
apps/desktop/src/api.ts - Library endpoints → Service settings: gets settings
backend/app/api/library.py - Library endpoints → Backend SQLite: reads tracks
backend/app/api/library.py - Library endpoints → Directory scanner: requests scan
backend/app/api/library.py - Library endpoints → Audio metadata: reads artwork
backend/app/api/library.py - Directory scanner → Service settings: checks roots
backend/app/library/scanner.py - Directory scanner → Backend SQLite: updates index
backend/app/library/scanner.py - Directory scanner → Audio metadata: reads tags
backend/app/library/scanner.py - Audio metadata → Local audio files: reads tags
backend/app/library/metadata.py - Backend SQLite → Library database file: persists
backend/app/database.py - CSV preview endpoint → CSV validator: validates rows
backend/app/api/spotify_preview.py - Listener → Local audio files: chooses scan folder
README.md - Listener → Spotify CSV: submits preview
README.md - On-device catalog → Audio matching: runs matching
apps/desktop/src-tauri/src/ios_catalog.rs - Playlist management → On-device catalog: uses catalog
apps/desktop/src-tauri/src/ios_playlists.rs - Spotify import → On-device catalog: imports tracks
apps/desktop/src-tauri/src/ios_spotify_import.rs - Spotify import → iOS CSV preview: uses preview
apps/desktop/src-tauri/src/ios_spotify_import.rs - Spotify import → Audio matching: reviews matches
apps/desktop/src-tauri/src/ios_spotify_import.rs - Spotify import → Playlist management: creates playlists
apps/desktop/src-tauri/src/ios_spotify_import.rs - Catalog backup → On-device catalog: backs up catalog
apps/desktop/src-tauri/src/ios_backup.rs - Catalog backup → Playlist management: backs up playlists
apps/desktop/src-tauri/src/ios_backup.rs - iOS playback → On-device catalog: loads local tracks
apps/desktop/src-tauri/src/ios_playback.rs