A lightweight Android client for Yarr - the self-hosted RSS feed reader.
Yarr is an excellent, minimalist RSS feed reader perfect for self-hosting. However, its web interface doesn't properly handle browser history, which creates UX issues on mobile devices e.g.pressing the back button closes the app instead of navigating within the interface.
Yarrand solves this by providing a native Android wrapper that:
- Properly handles the back button for in-app navigation
- Provides a fullscreen experience without browser UI
- Convenience buttons for refreshing feeds and back to home
- Persists user sessions across app restarts
- Lightweight and simple, no bloat
| Feeds | Settings |
|---|---|
![]() |
![]() |
- Android 8.0 (API 26) or higher
- A running Yarr server (self-hosted or accessible over network)
This APK is not available in the Google Play Store, so fetch the latest release APK from the Releases page. Still, you can build it from source as described below.
-
Clone this repository:
git clone https://github.com/danielfn/yarrand.git cd yarrand -
Build using Gradle (or the included Makefile for convenience):
# Preferred: use Makefile for build and install make release-rename # Builds signed release and renames APK make install-release # Installs on connected device # Or directly with Gradle ./gradlew assembleRelease adb install app/build/outputs/apk/release/app-release.apk
- Open Yarrand
- You'll be prompted to configure your server URL
- Enter your Yarr server URL (e.g.,
https://feeds.example.comorhttp://192.168.1.100:7070) - Configure additional settings as needed:
- Keep me logged in: Persist authentication cookies across app restarts
- Allow self-signed certificates: Enable for localhost or trusted dev servers (disabled by default)
- External link handling: Choose how external links are handled
- Tap "Save Settings"
- Enjoy your feeds!
- JDK 17 or higher
- Android SDK with API 34
Or use mise for tool management:
mise installThe project includes a Makefile for convenient build and install commands. It reads the version from app/build.gradle.kts and handles APK renaming.
# Debug build and rename
make debug-rename
# Release build (signed) and rename
make release-rename
# Install on connected device
make install-debug
make install-release
# Run tests
./gradlew test
# Clean build artifacts
make cleanFor detailed build instructions, see docs/building.md.
This application was mostly developed with the assistance of LLMs (Large Language Models).
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Yarr - The excellent RSS reader this app wraps
- Material Design Components for Android
- Quick Start Guide - Get started in minutes
- Building from Source - Detailed build instructions
- Architecture - Technical architecture overview
- Contributing - How to contribute
- Release Process - Steps to create a new release

