A modern, clean RSS/Atom feed reader for Android inspired by NetNewsWire. Built with Jetpack Compose and Material Design 3.
- Add feeds via URL or auto-discover from website
- Organize feeds into folders
- OPML import/export for portability
- Pull-to-refresh for manual sync
- Clean, distraction-free reader with beautiful typography
- Inter font for optimal readability
- Full HTML rendering with proper formatting
- Dark mode optimized (OLED-friendly)
- Share articles or open in browser
- All Articles - Everything in one place
- Unread - Focus on what's new
- Starred - Save important articles
- Automatic hourly refresh via WorkManager
- Notifications for new articles
- Battery-efficient scheduling
- Full-text search across all articles
- Search by title, content, or summary
Coming soon
- UI: Jetpack Compose with Material 3
- Architecture: MVVM with Repository pattern
- Database: Room with Flow for reactive updates
- Networking: OkHttp + custom RSS/Atom parser
- Background: WorkManager for periodic sync
- Image Loading: Coil
- Dependency Injection: Manual (no framework)
- Android 8.0 (API 26) or higher
- Internet connection for fetching feeds
- Clone the repository
- Open in Android Studio (Hedgehog or newer)
- Sync Gradle files
- Run on device or emulator
./gradlew assembleDebugapp/src/main/java/com/example/rssreader/
├── data/
│ ├── local/
│ │ ├── dao/ # Room DAOs
│ │ ├── database/ # Room Database
│ │ └── entity/ # Room Entities
│ └── repository/ # Repository implementation
├── domain/
│ └── model/ # Domain models
├── network/
│ ├── FeedDiscovery.kt # Auto-discover feeds
│ └── RssParser.kt # RSS/Atom parser
├── ui/
│ ├── components/ # Reusable UI components
│ ├── navigation/ # Navigation setup
│ ├── screens/ # Screen composables
│ └── theme/ # Material theme, colors, typography
├── util/
│ └── OpmlManager.kt # OPML import/export
├── worker/
│ └── SyncWorker.kt # Background sync
├── MainActivity.kt
└── RssReaderApp.kt # Application class
- Tap the + button
- Enter the feed URL or website URL
- Select a folder (optional)
- Tap "Add Feed"
Share any URL from your browser to RSS Reader - it will attempt to discover and add the feed.
- Go to Settings
- Tap "Import feeds (OPML)"
- Select your OPML file
- AI summary button for articles
- AI TTS functionality for accessibility
This project is for personal use.
- Inspired by NetNewsWire
- Typography: Inter by Rasmus Andersson