Skip to content

NateEaton/mydeck-android

MyDeck

License Latest Release

MyDeck is an Android client for Readeck, a self-hosted read-it-later service. It provides a Pocket-inspired interface for managing and reading your saved articles, videos, and photos.

It began as a fork of ReadeckApp and has evolved into an independently developed client with its own UX direction while remaining fully compatible with Readeck servers.

Requirements: A Readeck account and self-hosted Readeck server instance.

Download

Key Features

  • Pocket-style navigation with My List, Archive, and Favorites views
  • Three bookmark list layouts: Grid, Compact, and Mosaic
  • Full label management: add, rename, delete, and filter by labels
  • Dual reading modes: Readeck-extracted Article view and embedded Original webview
  • Article, photo, and video bookmark support with embedded media
  • Reading progress tracking with per-card visual indicators
  • Readeck highlight and annotation support — view, create, edit, and delete highlights in the reader
  • Reading typography customization (font family, size, line spacing, content width)
  • In-article text search with highlighted match navigation
  • Bookmark metadata editor for title, description, site name, authors, and more
  • Share from any app — lightweight bottom sheet with auto-submit timer
  • Adaptive layouts for tablet and landscape orientation
  • OAuth Device Code Grant authentication
  • Configurable content sync with Wi-Fi and battery-saver constraints

Building

Prerequisites: Android Studio (latest stable) or Android SDK command-line tools, JDK 17+.

git clone https://github.com/NateEaton/mydeck-android.git
cd mydeck-android
./gradlew assembleDebug

The debug APK will be at app/build/outputs/apk/githubSnapshot/debug/. Release builds require signing configuration — refer to the GitHub Actions workflow in .github/workflows/release.yml.

If you need a custom insecure release for self-hosting, such as connecting to a local http:// Readeck instance without TLS or to an HTTPS server signed by a private CA, see the comments in .github/workflows/release.yml for the ALLOW_INSECURE_HTTP_RELEASE and ALLOW_USER_CA_RELEASE build-time flags.

Contributing

Contributions are welcome. Please open an issue before starting significant work to align on approach. See docs/WORKFLOW.md for the development and release workflow.

When adding new string resources, English placeholder strings must be added to all language files — see CLAUDE.md for details. Contributors willing to help with translations are especially welcome given the investment made in multi-language support for ReadeckApp.

Acknowledgements

Built With

Development

This project was developed with assistance from AI tools including Claude (Anthropic), ChatGPT (OpenAI), and AIStudio (Google). The underlying concept, architecture decisions, implementation, and testing were performed by the developer.

Influences

MyDeck is derived from ReadeckApp by jensomato — the Android client that made this project possible. It is a companion to Readeck by the Readeck team. The UX and navigation model were inspired in part by Pocket (Mozilla) and Instapaper.

For a summary of code and feature changes from ReadeckApp, see docs/FORK_DIFFERENCES.md.

Thanks

A special thanks to Stefan (@Alanon202) for app functionality feedback and for testing support.

License

This project is licensed under the GNU General Public License v3.0. Some of the used libraries are released under different licenses.

About

A Readeck client based on jensomato/ReadeckApp but refactored for a Pocket-like experience.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages