AI summary
Open-source podcast client with dynamic ambient theming from cover art, variable-speed playback, live transcripts, and hybrid search combining local SQLite FTS5 with Podcast Index API. Includes on-device adaptive recommendations and library import flow. Note: includes AD_ID permission despite no ads being mentioned in the description.
Generated by AI. May contain inaccuracies.
About this app
boxlore is a modern, open-source podcast client built from the ground up to showcase Jetpack Compose's full styling and interactive potential.
- Dynamic Accent Extraction: Intercepts album cover artwork, resolves visually dominant colors via the Android Palette API, boosts saturation (min 40%), and bounds lightness (25%–55%) for clean, rich ambient gradients. - Performance Optimizations: Utilizes deferred rendering of heavy below-the-fold list components during tab slides to preserve a locked 60fps refresh rate on navigation. - Vector Search & Recommendations: Combines a local SQLite FTS5 index for fast offline queries with a Qdrant Cloud vector embedding space to serve semantic recommendations.
✨ Feature Grid
- Home Feed 🏠 Highlights & Capabilities: - Mixtape Curation: Dynamic, personalized listening queues. - Deferred Composition: Ultra-smooth 60fps transitions. - Curated Time Blocks: Adaptive choices matching the time of day.
- Player 🎵 Highlights & Capabilities: - Dynamic Ambient Glow: Real-time HSL color extraction from cover art. - Variable Speed: 0.5x to 3x with pitch correction. - Buffered Wavy Loader: Circular wavy loader for loading states.
- Search & Explore 🔍 Highlights & Capabilities: - Personalized "For You": Interest-based recommendations. - Edge Spelling Checker: Real-time correction on Cloudflare Edge. - Hybrid Querying: Fast SQLite + Podcast Index API.
- Podcasting 2.0 🎬 Highlights & Capabilities: - Live Transcripts: Synced reading with jump-to-time audio seeking. - Seekbar Chapters: Clickable chapter notches. - 16:9 Video Podcasts: Orientation-locked video layouts.
- Library & Offline ⬇️ Highlights & Capabilities: - Collapsible Downloads: Organized list, multi-select operations. - Smart Downloads: Automated background download purging.
🌐 Data Sources
This app aggregates data from multiple public sources to provide a unified podcast experience:
- Podcast Index API Data Provided: Global catalog of podcasts, episodes, and search results
- Apple Podcast Charts Data Provided: Daily scraped trending feeds via GitHub Actions
📄 License
GNU General Public License v3.0
What's new
- Added
- Recommendation‑driven discovery sections on Home replace time‑of‑day rails; Adaptive Learner debug inspector with genre‑affinity graphs (excluding placeholder Podcast); bounded aggregate summaries (genre affinity, duration, maturity, novelty, recent‑section) for personalization; stale‑while‑revalidate caching for discovery rails with skeleton placeholders. (#882) Shared ImportLoaderView with morphing animation to success checkmark added for library import flow. (#883)
- Changed
- Visual hierarchy and spacing adjusted for top‑level, child, and nested section headers; daypart rotation enabled via ordering and short‑lived retention of recently visible sections; network loading logic updated to preserve in‑flight section loads and prevent data clearing on empty refresh; Gradle wrapper upgraded and R8 compatibility enabled for release builds. (#882) Library import flow UI refined with clearer selector, progress, and success screens; cross‑promotion detection widened via additional title patterns, description cues, and improved match scoring; import UI extracted from MainActivity into ui.libraryimport package. (#883) Documentation rewritten for recommendation‑system guide covering UI rails, on‑device bandit logic, API contracts, and diagnostics; obsolete recommendation_logic documentation removed. (#880)
- Fixed
- Exclusion of placeholder Podcast genre from on‑device learner calculations fixed; blank gaps under greeting eliminated by painting cached rails immediately. (#882)
About this version
- Version
- 0.0.10 (10)
- Size
- 25.9 MB
- Requires Android
- 12
- Target SDK
- 31
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 14
- Updated
- Jul 22, 2026
- Package
- cx.aswin.boxlore
Ratings & reviews
- 50
- 40
- 30
- 20
- 10