Explore something. Notice more. Keep the discovery.
A curated discovery app for curious people. Spin a roulette deck of 16,000+ hand-written topics across 38 lanes, then capture what you notice in a beautiful, personal offline library — or open the book you're reading and let Curio read it aloud to you. No feed. No ads. Just you, a topic, and the world — plus an optional community layer (friends, messages, a 24-hour wall) that stays completely off until you switch it on.
| Home | Spin | Topic Reveal | Capture |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Cabinet | Entry Detail | Reader | Quests |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Share Card |
|---|
![]() |
Capture names and framing: see docs/screenshots/README.md.
We scroll past interesting things every day and forget them. Curio turns passive scrolling into active, real-world exploration — and gives you a warm, tactile place to keep what you found. Six rich capture formats (voice notes, reviews, journals, mood boards, field notes, and more) live on a paper-textured editor with ruled lines, torn edges, and coffee stains. Your books live in a reader that reads aloud with downloaded neural voices. Everything stays on your device. Your journal is yours.
Built with Kotlin + Jetpack Compose on Android 8.0+.
Curio ships in two editions that install side by side — see Two builds below.
Pick from 38 curated lanes (Music, Films, Books, Art, Science, Games, Anime, Food, History, Sports, Internet, Mythology, and more) — or blend into a mixed deck. Curio shuffles a roulette of topics, each with a teaser, imagery, and a structured "go do this" explore action with a suggested time. The deck feels like a deck: stacked peek cards, category-tinted edges, and a satisfying shuffle. Anti-repeat history means you'll never see the same topic back-to-back. Finishing a topic marks it Completed everywhere — the deck stops dealing it, and Topic History keeps the record.
Whatever you discover, there's a format waiting: SoundBite (voice notes) · ReelNotes (reviews) · Marginalia (journals) · Gallery Wall (mood boards) · Field Notes (observations) · Open Notebook (wildcard). Every note lives on a rich, paper-styled editor with ruled lines, torn edges, coffee stains, and watermark paper. Full rich text, quotes, images, audio, and tags — all autosaving. Dictation types into the note while you speak, and Android's own Select all reaches the whole page.
Your shelf, your reader, your voice:
- The shelf — every book you keep, with covers and progress. Hold a book for its own actions (Open in reader, Pin to Home, Remove); a book with a document opens straight into the reader.
- EPUB & PDF reader — follows the book's own reading order, chapter-aware page slider, highlights, bookmarks, selection notes, text size and zoom, and a motion-lock that never fights the page.
- Read aloud — a sentence at a time, the current sentence marked on the page. Background reading with play/pause/skip/stop in the notification and on the lock screen. A Full stop break slider tunes the pause between sentences.
- Voice packs (Curio Full) — download Piper · Lessac (64 MB) or Kokoro · 82M (305 MB, eleven narrators) and read with no engine, no network and no account. Audition a narrator before you commit. Or use any text-to-speech engine installed on your phone.
- Dictionary — look up a word you selected: Webster's 1913 (complete) and WordNet, with a browsable word list and a floating alphabet pill.
Start a timed session and a persistent floating bubble follows you over other apps (like Messenger) — so you can open the browser, dig in, and always see how much time you planned. Sessions survive reboots and queue for later.
Browse by category, search your collection, zoom images in a lightbox, and explore rich entry pages. Your keepsakes pack into shelves — Favorites, Curiying now, Want to Read, Completed, Notes, Personal, your own collections — with the Cupboard holding every book, album and series you keep. Streaks, levels, and lane stats make the habit rewarding.
A Material-inspired custom design language: Material 3's open system as the foundation, wrapped in a warm-cream paper world drawn from the editorial, tactile aesthetic of today's best apps — torn-paper heroes, category colors, custom typography, and motion throughout. Three theme styles (Curio, AMOLED, Material You), light and dark.
And on top of the paper, liquid glass: the nav bar, headers, pills, sheets and dialogs are real refracting glass over the page behind them (Android 12+). Choose the frosted smudge — a soft, near-opaque frost that breathes toward white in light mode and toward its own lifted colour in dark — or the clear pane with the lens back. Tuning lives in Appearance → Liquid glass; the switches are in Experiments.
Switch on Online mode and Curio grows a social half: a 24-hour wall of posts, replies that branch, a friends list, and private conversations. Every member picks one of 28 hand-drawn portraits; a display name and a @username are separate things; profiles carry a bio. Friends can see your shelf of liked topics; strangers can't message you. This layer is the only part of Curio that ever talks to a server, it is off unless you turn it on, and turning it off again (or signing out) takes the tab and the cached conversations with it.
Three kinds of post share the wall: a topic card (the topic's own art, words and style), a note (a tweet-style line of your own) and a quote (the topic's own words, credited to whoever said them). Direct messages are exempt from the content filter — two friends writing privately write what they like; the filter guards the public surfaces (the wall, its replies, usernames, display names and bios), where anyone can read what is written. Curio is a small place and its conduct rules are short: slurs, sexual content and harassment get an account banned.
Everything lives on your device. No analytics. No tracking. No ads. Open source. Your captures, recordings, photos and screenshots never leave the phone — the online layer carries text only (a card's topic, its words, a reply, your name, your portrait number). Turn Online mode off and nothing about you is sent anywhere. Signing out forgets the device's cached conversations, and the stored session token is sealed with the Android Keystore rather than kept in readable preferences.
Read this before switching Online mode on: direct-message encryption is not currently supported. Direct messages are sent as plaintext over the protected Online Mode connection, so do not send information you cannot afford to disclose. Community cards, replies, reactions, reports, usernames and profile text are also protected by Supabase access controls and moderation rules, not end-to-end encryption.
How long it is kept: a wall post, its replies and a direct message each live 24 hours on the server and are then swept away — an expired message is gone even for the two people in it. Your own device keeps the conversations it received (a private copy for you), and signing out deletes that copy along with the session token.
Online terms and privacy: before enabling Online Mode, read the Online Terms of Use and Online Privacy Notice. They describe content rules, reporting, direct-message encryption limits, retention and member controls. These worldwide baseline documents require jurisdiction-specific legal review and operator contact details before public launch.
Curio ships as two editions built from the same source, published from the same release. They install side by side, have separate package names and separate data, and are both called Curio — the only difference in the launcher list is the package. An existing install stays the app it was: a member who never chooses keeps exactly what they have.
| Curio (core) | Curio Full | |
|---|---|---|
| Package | com.curio.app |
com.curio.app.full |
| Size | The lighter download | Larger (carries the vendor libraries) |
| Everything in the table above | ✅ | ✅ |
| Offline voice-to-text models (Vosk) | — | ✅ |
| Downloadable reading voices (Piper, Kokoro) | — | ✅ |
| ISBN barcode scanner (add-a-book by lens) | — | ✅ |
| Camera permission | Not asked | Asked, for the scanner |
Every release APK is named Curio-<version>-<code>-<edition>-<abi>…, and the in-app updater matches the edition token so an update never hands you the other app.
Curio is ready for F-Droid: the core edition is fully free software — all of the table above minus the three Full-only rows — with nothing proprietary anywhere in it, and a fdroid build type exists to produce a store-comparable APK. The release workflow's F-Droid build is switched off for now (it can be re-enabled with one line), so releases currently ship the core and Full APKs only. On an F-Droid install the in-app updater stays quiet and updates arrive through the F-Droid client, per the store's rules.
- Download the latest
coreorfullAPK from the Releases page — see Two builds for which one is yours - Install it on any Android 8.0+ device
- Android will ask you to allow "install from unknown sources" for your browser — that's normal for sideloaded apps
- Updates arrive through the app's own updater, or by downloading the new APK the same way
Google Play support is not planned. v1.0 ships via GitHub Releases; the fastlane metadata under
fastlane/keeps the changelogs release-ready for F-Droid-style distribution (see F-Droid above).
git clone https://github.com/firefly-sylestia/Curio.git
cd Curio
./gradlew build # both editions
./gradlew assembleCoreRelease # just Curio (core)
./gradlew assembleFullRelease # just Curio FullRequirements:
- Android Studio (latest stable)
- Kotlin 2.3+
- Gradle 9.4+
- Android SDK 26+ (API level)
For a signed release build:
./gradlew bundleRelease- Discover — Open the Spin on Home, pick a lane or create a mixed deck, and hit shuffle
- Explore — Read the explore action and step-by-step guide, then go find the topic in the real world
- Capture — When done exploring, tap the floating timer bubble (or open Curio) and pick a format to capture what you noticed
- Keep — Your entry lands in the Cabinet, tagged and searchable, ready to revisit anytime
Start with "Today's Quest" (Home → Today's Quest) for a one-tap random discovery whenever the mood strikes.
| Platform | Android (v1.0) |
| Minimum OS | Android 8.0 (API 26) and up |
| Target OS | Android 17 (API 37) |
| Permissions | Microphone (voice notes + dictation) · Notifications (reminders + read-aloud controls) · "Display over other apps" (optional floating explore bubble) · Background service (explore timer, read-aloud) · Camera (Curio Full only, for ISBN scanning) |
| Language | English |
| Accounts | None for the app itself — an optional Curio account is needed only for the online layer |
| Network | Optional. Your library is fully local; images load from the web when available and the online layer needs a connection |
- 38 curated lanes: Music · Films · Books · Art · Science · Games · Anime · Food · History · Sports · Internet · Mythology · the sciences · and more
- 16,000+ topics across 38 lanes (500+ in every lane) — each with teaser, imagery, and structured explore action (verb, target, suggested duration, step-by-step guide)
- Roulette deck with stacked cards, category-tinted edges, and satisfying shuffle
- Single-lane or mixed decks (2–4 categories blended into one)
- Anti-repeat history — never see the same topic twice in a row
- Topic reveal pages with full explore action
- Completed — finishing a topic marks it everywhere: the deck stops dealing it, the notification and the return dialog say it, and Topic History keeps the list
- Browse Topics — the whole catalog in one place: search, filter by lane, and sort A–Z or newest/oldest by year
- "Today's Quest" — one-tap random shuffle on Home
- Manage Categories — show, hide, or reorder lanes
- Six rich formats — SoundBite, ReelNotes, Marginalia, Gallery Wall, Field Notes, Open Notebook
- Multi-section entries — mix formats within one entry
- Paper-styled editor — ruled lines, torn edges, coffee stains, folded corners, red margins, watermark paper, six colors
- Rich text — formatting, quotes, images, audio, tags (custom, searchable); bullets keep their marker on Enter
- Voice recording — trim with waveform, playback, voice-to-text transcription (offline models in Curio Full)
- Mood boards — draggable quote boxes on category-tinted backgrounds; export as PNG
- Autosaving drafts
- Bookshelf — covers, progress, hold-for-actions (Open, Pin to Home, Remove), pin-to-Home shelf row
- EPUB & PDF reader — spine-true chapter order, chapter-aware full-width page slider, highlights on the exact words, bookmarks, selection notes
- Read aloud — sentence-by-sentence with the current sentence washed on the page; a settling control bar (play/pause + both skips); Full stop break slider with per-voice tuned defaults
- Background reading — notification and lock-screen controls; the reading stops when the app is swept away
- Voice packs (Curio Full) — Piper · Lessac and Kokoro · 82M, eleven narrators, audition before you commit, Test-it row that speaks a sentence
- Any TTS engine — a better engine installed on the phone reads instead of the built-in one
- Dictionary — Webster's 1913 (complete) + WordNet; selection toolbar door; browsable word list with floating alphabet
- Timed explore sessions with floating timer bubble over other apps
- Persistent notification + "are you done?" reminder
- Sessions survive reboots; pause, queue, and resume
- Daily shuffle reminders (scheduled notifications)
- Recently explored/unexplored topic tracking on Home
- 8 share card styles — Paper, Vinyl, Collage, Clean, Editorial, Minimal, Signature, and Custom
- Custom style — 50+ unique topic-specific designs (Pokemon pokeball, Frozen snowflakes, Star Wars starfield, Marvel halftone, etc.) that only appear when a matching design exists
- Signature style — 13 category-specific designs (music vinyl grooves, film grain, book spine, anime speed lines, etc.)
- Carousel picker — swipe through full-size card previews to pick a style
- 9:12 and 3:4 aspect ratios
- Quick fact, custom fact, and no-fact options
- Save as image or share directly
- Browse all captures; filter by category or view All
- Full-text search across your library
- Rich entry detail pages — hero cards, metadata, image lightbox with pinch-to-zoom
- Edit entries after saving
- Saved shelf — bookmarked quotes, pinned topics
- Legacy section for imported FieldMind records
- Recents feed on Home
- Daily quests — a fresh warm-up / discovery / creation trio every day, with bonus quests that unlock when the core trio is claimed
- Weekly quests — three rotating goals refreshed every Monday
- Category passport — stamps for every lane you explore; quests nudge you toward underexplored categories
- Journey chains — first-run tutorial quests that walk you through the whole Discover → Explore → Capture loop
- XP + 50 levels — quest completion, spins, explores, and saves earn XP; levels unlock titles and grow the pet
- Curio pet companion — a pixel pet that lives on your screen, reacts to exploration, and grows with XP across six growth stages
- Pet brain — the pet learns from your habits on-device (favorite lanes, time-of-day rhythms, streaks) and develops its own catchphrases over time
- Pet designer — a full pixel editor: draw the body, faces, and accessories; build frame-by-frame animations; author custom reaction actions with triggers (tap, reveal, save, level-up, app open, time of day, idle, and more); then share or import designs as text
- Display name + curiosity tagline
- 50-level quest system — XP ranks with titles, quest chains, and progress tracking
- Streak, Saved, and Lanes stats
- Your most-explored categories at a glance
- Appearance — Curio, AMOLED, or Material You theme; Light/Dark/System; pastel color mode; liquid glass tuning (frosted/clear, blur, refraction, reflection)
- Online mode — sign in, claim a username, pick your portrait, and switch the community tab on or off
- Privacy — profile visibility, hidden activity, and who you have blocked
- Notifications — daily shuffle reminders, reminder time, explore controls
- Recording — voice quality, dictation settings
- Advanced — the doors you rarely need gathered in one page: Recording, Experiments, Pet designer
- Experiments — toggle 30+ optional UI tweaks (deck styling, layouts, smart density, floating pill headers)
- Manage Categories — show, hide, reorder
- Topic History — revisit everything explored
- Backup & Restore — export and import full backups; legacy FieldMind archive import
- Replay onboarding anytime
- Home writing rows — turn the pages row, the shelf row, or both off without touching your journals or books
- Onboarding flow (replayable, ends with an optional online step)
- Crash reporter with saved history
- In-app bug report screen
- Daily reminders and explore sessions rebuild after reboot
- Landscape layout — a short, wide window gets its own arrangement, not a stretched tablet
- In-app updater that matches your edition
- CI-validated release builds
- Community wall — post a topic card, a text-only note, or a credited quote; captions, replies that branch, likes, reporting, and your own posts taken down by you. Cards expire 24 hours after they are posted
- Friends — search people, send and answer requests, remove a friend (it asks first and names them)
- Messages — private conversations with friends, day rules, grouped bubbles, reactions, a live typing line, read receipts and unread badges
- Live delivery — a Supabase Realtime socket pushes replies, messages and new posts the moment they happen, with the polling refresh kept as a fallback when the connection drops
- Profiles — a display name, a separate
@username, a bio, a streak and one of 28 hand-drawn portraits (no photo upload anywhere) - Privacy controls — make your profile friends-only, hide your activity so nothing is ever shown about when you were last around, and block people (a block stops messages, requests and each other's cards, both ways)
- Notifications — one "Messages and community" switch; tapping a notification opens the conversation or the wall
- Offline tolerance — conversations, the message list with its badges, friends, the last wall page and each card's replies are cached on device with expiries, so the social screens still open with no connection
- No card can carry media — every post is rebuilt with Curio's own text renderer, so a photo, recording or screenshot can never be attached to a card
- Material-inspired custom design language — Material 3 foundation extended with a web-drawn editorial aesthetic
- Torn-paper heroes, watermark backdrops, custom typography
- Liquid glass — real blur + lens refraction on the nav bar, headers, pills, sheets and dialogs (Android 12+), frosted or clear, with its own dark-mode frost
- Custom Material Symbols and motion
- Local by default — Room database, offline-first; the online layer is the only thing that ever talks to a server and it is off unless you switch it on
- Session tokens sealed with the Android Keystore (AES-GCM), not stored as readable preferences; signing out clears them and the cached social data
- Private by policy, not end-to-end encrypted — server-side messages and cards are readable by the service, and row-level security decides who else may read them
- No analytics, no tracking, no ads
- Open source on GitHub
- Curio — the warm-cream material-inspired look (default)
- AMOLED — pure black for dark screens
- Material You — your device's Material palette
- Light / Dark / System mode selection
- Pastel color mode for softer aesthetics
- Frosted (default) — the smudged, near-opaque frost; Clear returns the see-through refracting pane
- Tuning — blur, refraction, reflection and indicator-shadow multipliers
- Dark mode gets its own frost — lifted dark glass, never washed toward white
- Notifications — daily shuffle reminders, reminder time, explore controls
- Recording — voice quality, dictation (voice-to-text)
- Reading — engine, voice, narrator, voice packs, background reading, dictionary source, full stop break
- Manage Categories — show, hide, or reorder lanes
- Backup & Restore — export and import full backups; legacy FieldMind archive import
- Advanced — Recording, Experiments and the Pet designer in one page
See Settings in-app for the full list.
We'd love contributions! Here's how:
- Check existing issues first
- Use the Bug Report template with steps, screenshots, and version info
- Or use the in-app bug report (Profile → Support & diagnostics → Report a bug), which opens a pre-filled GitHub issue
- Open an issue with the Feature Request template
- For new topics, name the category and the specific topic you'd like to see
- Topic requests help grow the catalog over time
- Fork the repo and create a feature branch
- Follow the existing code style (Kotlin + Jetpack Compose conventions)
- Submit a pull request with a clear description
- Link to any related issues
The 16,000+ curated topics are hand-picked. If you have topics to suggest for any lane (Artists, Albums, Directors, Films, Authors, Books, Painters, Artworks, Scientists, Discoveries), open a Feature Request with specifics.
Curio is free and open source under the GNU Affero General Public License v3.0 — see LICENSE for the full text.
The AGPL is a strong copyleft licence: you may use, study, share and modify Curio freely, but any modified version you run — including one offered to users over a network — has to offer those users its complete source under the same licence (AGPL §13). That is deliberate: Curio's online side (accounts, sync, the community) is part of the app, so a hosted fork has to stay open too.
Copyright (C) 2026 the Curio contributors.
- iOS — Android only for now
- Cloud sync of your library — your captures stay on the device; use Backup & Restore (Settings) to export and keep them safe
- End-to-end encryption — messages, replies and cards are private by policy (row-level security, friends-only visibility, 24-hour expiry) but the server holds the plain text, so a server operator can read them. Content that must stay unreadable to a server doesn't belong in a message yet
- Localization — English only in v1.0
- Google Play — distributed via GitHub Releases; the fastlane metadata keeps the store listings release-ready, and the fully-FOSS F-Droid build is ready to switch back on when the store listing lands
- Content depth grows — every lane ships 500+ topics today, and the catalog keeps growing
- Images need network — topic and entry images load from the web (your data is always offline)
- More topics and categories — every lane already has 500+; the catalog keeps growing and suggestions are welcome
- Google Play listing — once polished
- Accessibility & localization — after launch
- iOS version — long-term goal
Found a bug? Have an idea? Want to request a topic?
- GitHub Issues — Report bugs or request features
- In-app — Profile → Support & diagnostics → Report a bug (opens a pre-filled GitHub issue)
- Discussions — Coming soon for general questions and ideas
Live stars over time for this repository (updated automatically):
Live release downloads (every release ships a signed APK):
📶 Note: GitHub doesn't expose a downloads-over-time feed to any reliable hosted README chart service, so downloads is shown as a live total here while the stars history renders as a real timeline graph above.
Made by Firefly — design, code, and curated topic catalog.
The AI used to build it: Codebuff (Buffy) — the main agent, and Freebuff Agent.
Note: Approximately 70% of this project's codebase was written and iterated on with AI assistance — Codebuff (Buffy) doing the bulk of the implementation, debugging and polish across thousands of commits, with Freebuff Agent alongside it. Human direction, design decisions, product judgment, and curation drove every feature.
Special thanks to the early testers and people who shared topics and feedback.
Curio stands on other people's work. These are the ones it actually ships:
- AndroidLiquidGlass (Kyant0) — the backdrop, vibrancy, blur and lens pipeline behind Curio's glass headers, pills and docks.
- blobatar — member faces are a Kotlin port of blobatar's generation-2 core (MIT licence, © 2026 Alain); the full notice is shown verbatim in-app.
- Vosk — offline voice-to-text in Curio Full.
- Piper & Kokoro — the downloadable reading voices, run on-device through sherpa-onnx.
- TMDB — film and show artwork and facts, when a build carries a credential. This product uses the TMDB API but is not endorsed or certified by TMDB. OMDb, Wikipedia, Wikidata, TVMaze, iTunes, Jikan and Comic Vine fill the doors in front of and behind it, most of them keyless.
- Supabase — the optional online layer's accounts, database and realtime channel. Nothing about you reaches it while Online mode is off.
- Jetpack Compose, Material 3, Coil, Room, Gson, kotlinx-coroutines — the app's own foundations, all Apache-2.0 (Gson: Apache-2.0).
The same credits ship in the app: Profile → Support & diagnostics → About Curio.
Explore something. Notice more. Keep the discovery.








