Podcast player for Android — search that works, personal picks, offline listening, no ads
|
|
|
About · Release notes · Search · Features · Get started · Screenshots · Install · Developers · Roadmap
Most podcast apps call an open API, do word‑for‑word search, show Apple charts, and call it a day. Misspell a show name and you get nothing. Ask for a topic and you get title matches that miss the point. And once you’re in, the home screen rarely feels like yours — same rails for everyone, little that learns from what you actually play.
boxlore is built around both gaps. Find a show when the spelling is messy, or find shows and episodes by idea when you only know the vibe. Then the app gets personal as you listen: Home, Explore, queue, and downloads re‑rank on‑device from your taste — daypart rails, Because You Like, and For You picks, plus curiosity cards when you want something you’d never search for. Taste stays on your phone. Stream or download for offline, manage a real queue, and skip the ads and paywalls for the stuff that matters.
The smart catalog covers popular chart podcasts and grows daily — not every show on earth yet. Outside that index, boxlore still works as a normal podcast client (subscribe, play, download, OPML).
• High:
- If you imported podcasts from another app in an older boxlore build, those shows are restored as normal catalog subscriptions. You may see a one-time repair banner; it will not loop.
🚨 Critical:
- Subscribed shows now keep a complete episode list from the publisher’s feed, including episodes our catalog had missed. Progress, downloads, and likes stay on the same episodes.
- "Missing episodes?" is for shows you haven’t subscribed to yet, once per podcast. Subscribe to keep the full list up to date.
- Importing your podcast list from another app now brings in catalog shows as normal shows, with notifications available, instead of tagging most of them as RSS.
- Subscribing to a show keeps filling in the full episode list even if you leave the page
- After you unsubscribe, new episodes still show up on that show’s page
- Show search stays on the best match as results fill in, so you don’t have to scroll up to find it.
- Scrolling the full player back to the top no longer shrinks it to the mini player. Swipe down again when you want to minimize.
- You can open boxlore straight to Downloads when you launch the app
Two jobs. Same Explore search bar (and onboarding when you already know your shows).
| Find a show | Ask anything |
|---|---|
| Type a podcast name — typos welcome. Fast, typo‑tolerant lookup via Meilisearch. Primary hits under Matches; extra coverage under Also found. | Describe a topic or mood. Concept search via Qdrant returns related shows and episodes by meaning — e.g. “stories about startup failure” finds the conversation, not just shared keywords. |
| Personalization | On‑device learning re‑ranks Home, Explore, queue, and downloads as you listen. Taste stays on your phone. Daypart rails, Because You Like, and For You. How it works → |
| Curiosity cards | Swipe question cards that point at episodes you’d never search for. Right to queue · left to dismiss · tap to play. |
| Listening | Mixtape queue, mini/full player, speed, sleep timer, chapters, transcripts, video, Android Auto. |
| Library & offline | Subs, downloads, history, likes. Launch offline → land on downloads. OPML / full JSON backup. |
| Daily briefing | Optional region‑aware AI news audio with script, sources, and chapters. |
| No ads | No banners, no sponsored inserts, no premium tier to unlock search or recommendations. |
Smart automation (defaults off)
- Smart Downloads — curated offline pool within limits you set
- Per‑podcast auto‑download — new drops download automatically (notifications required)
- New episode notifications — per‑podcast bell
| New to podcasts? | Switching apps? | Know your shows? |
|---|---|---|
| AI onboarding — short chat → matched shows from the catalog → subscribe before you enter. | Import library — OPML from Pocket Casts, Apple Podcasts, AntennaPod, or similar. Similar‑show suggestions after import. | I know my shows — search during setup, or Skip Setup and explore. |
Export anytime: Profile → Backup & Restore (OPML or full JSON).
|
Onboarding AI · OPML · search
|
Home Mixtape · For You
|
Search Name or idea
|
Briefing AI news audio
|
|
Curiosity Swipe to discover
|
For You Personalized picks
|
Library Subs · downloads
|
Player Artwork‑matched
|
Get it on Google Play (primary), or sideload the latest GitHub APK. Live Play vs GitHub release versions are in the status badges under the title.
Enable Install from unknown sources for sideloading.
git clone https://github.com/boxcreate/boxlore.git
cd boxlore
./gradlew assembleDebug
./gradlew installDebugRequirements: Android Studio Ladybug+ · Android SDK 35+ · JDK 17 · Kotlin 1.9+
Modules & stack
| Module | Role |
|---|---|
:core:catalog |
Repositories, mappers |
:core:designsystem |
Themes, shared composables |
:core:model |
Domain models |
:core:network |
Catalog API client |
:feature:explore |
Search, For You, curiosity |
:feature:home |
Mixtape, charts, briefing entry |
:feature:player |
Playback UI |
:feature:briefing |
Daily briefing |
:feature:library |
Downloads, subs, history |
:feature:info |
Podcast & episode detail |
:feature:onboarding |
First‑run paths |
| Technology | Purpose |
|---|---|
| Kotlin · Compose · Material 3 | App UI |
| Coroutines & Flow | Async state |
| Retrofit · Room · Media3 · Coil | Network, DB, playback, images |
| Meilisearch | Typo‑tolerant show search |
| Qdrant · Qwen3 | Concept search & multilingual recommendations |
Agent notes: AGENTS.md · architecture: ARCHITECTURE.md · testing: docs/TESTING.md
- Bugs — Issues
- Ideas — Discussions
- Roadmap — Projects kanban
- PRs — Fork, change, open a pull request
Source‑available under the PolyForm Strict License 1.0.0. Noncommercial use of the code is allowed; redistribution and derivatives are not. See LICENSE.







