A polished, gesture-first Reddit client for Android.
Dense when you want it, calm when you need it, and designed for one-handed reading.
Join Discord · GitHub · Download APK · Releases · Setup · FAQ · Changelog · Issues
I came to Android from iOS and missed having a Reddit client that felt polished, information-dense, quick, and comfortable in one hand. Currents is the app I wanted to use: edge-to-edge content, predictable gestures, a compact action dock, a community drawer, colorful comment rails, native media, and enough appearance controls to make the experience your own.
Currents is an original Android-native project built with Kotlin and Jetpack Compose. It has its own name, icon, palette, interaction design, and copy. It contains no advertising or fabricated Reddit content.
Important
Currents does not ship with a Reddit client ID, and I do not provide one. The Client ID field starts blank. Every user must supply their own Reddit installed-app Client ID, User-Agent, and redirect URI, subject to Reddit's current API terms and approval requirements. See the setup guide.
- Download the latest
Currents.apk. - Open the downloaded file on an Android 8.0 or newer device.
- If Android asks, allow installs from the browser or file manager that opened the APK.
- Open Currents and follow the Reddit account setup guide.
Installing a newer GitHub release over an existing Currents installation preserves settings, read history, cached content, and encrypted account credentials when the signing certificate matches.
- Package ID:
app.orca.client - Currents 1.0.2 APK SHA-256:
0D03C5A1EFB567A1A7FD7329BDAB6D51FB0D86793252973C30BE63C585126470
On Windows, verify the file with:
Get-FileHash .\Currents.apk -Algorithm SHA256The current release checksum is shown above and should be refreshed with every APK release. Only download Currents from the OtterSuite repository.
- Gesture-first navigation — configurable two-threshold post/comment actions and a full-height right-edge community drawer gesture.
- Dense or visual feeds — switch between compact rows and large previews, then tune text size, thumbnail position, labels, and read-state dimming.
- Native media — hosted video, GIF playback, audio controls, galleries, smooth scrubbing, pinch/double-tap zoom, swipe-down dismissal, and gallery saving.
- Readable conversations — colorful nested-comment rails, collapse state, sort controls, threaded replies, and next-thread navigation.
- Personal control — keyword/community/author filters, hide-read mode, persistent read history, themes, haptics, and configurable action bars.
- Dedicated NSFW controls — independently choose whether adult media is covered and whether the Random NSFW shortcut appears in the side menu; spoilers remain covered.
- Phone and tablet layouts — a focused phone experience plus a responsive two-pane reader at 840dp and wider.
- Honest signed-out state — no bundled credentials, shared proxy, fake feed, ads, or tracking service.
- Browse Home, Popular, All, saved posts, communities, user profiles, and search results
- Sort feeds and comments; pull to refresh and page through results
- Vote, save, hide, report, subscribe, reply, and create text or link posts
- Edit or delete the connected account's posts and comments
- Configurable feed action bar and four-slot swipe-action editor
- Right-edge community drawer with favorites and Reddit community suggestions
- Durable offline feed/comment cache and saved post drafts
- Read-post history with dim, hide, mark-above-read, and clear-history controls
- Secure installed-app OAuth with runtime redirect schemes and callback/state validation
- Encrypted refresh-token storage backed by Android Keystore
- Optional in-app sign-in fallback for redirect URIs a browser cannot return
- Explicit NSFW/spoiler gates before remote media previews are requested
- Baseline profiles, R8 shrinking, and macrobenchmarks for release performance
See the changelog for release-by-release changes.
Currents never reads credentials from local.properties, compiles them into the APK, or supplies a shared client ID. User-provided values are stored in the app's private storage and can be cleared under Settings → Advanced → Reddit API configuration.
Requirements:
- Android Studio 2026.1.3 or a compatible setup
- JDK 17+
- Android SDK 37
Clone the repository, open it in Android Studio, and run the app configuration, or use:
$env:JAVA_HOME = 'C:\Program Files\Android\Android Studio\jbr'
.\gradlew.bat assembleDebugThe APK is written to app/build/outputs/apk/debug/app-debug.apk.
.\gradlew.bat testDebugUnitTest
.\gradlew.bat lintDebug
.\gradlew.bat assembleDebugThe test suite covers repository behavior, media parsing, voting and saving transitions, post creation, nested replies, filters, OAuth configuration/callback validation, credential lifecycle, sign-out races, NSFW defaults, and right-edge gesture routing.
Project structure and performance tooling
app/ Android application
benchmark/ Cold-start and feed-scroll macrobenchmarks
baselineprofile/ Baseline profile generator
app/src/main/java/app/otter/client/
├── data/ Reddit API, OAuth, caching, media, and test fixtures
├── model/ Immutable post, comment, community, and vote models
└── ui/
├── components/ Gestures, media, drawer, action bar, and composers
├── screens/ Feed, post, search, settings, and about
└── theme/ Currents color and typography tokens
Release builds are minified and resource-shrunk with R8. The benchmark build inherits that release shape, while baselineprofile/ generates ahead-of-time compilation rules for startup and feed scrolling. Compose stability rules live in compose_stability.conf.
Currents talks directly to Reddit and to media hosts needed for content you choose to view. It has no bundled client ID and no service that lends credentials to users. OAuth refresh tokens are encrypted locally with Android Keystore; clearing the API configuration or disconnecting removes local account credentials.
Currents is an independent, community-built client. It is not affiliated with, authorized by, maintained by, or endorsed by Reddit. Reddit is a trademark of Reddit, Inc. API access, endpoints, and account actions can change, and some features may require Reddit approval.
Currents is distributed under the MIT License.
- Repository: github.com/ottersuite/Currents
- Releases: github.com/ottersuite/Currents/releases
- Community: Currents Discord
- Bug reports and feature requests: GitHub Issues
