FeedStack is a modern, open-source feed reader tailored for developers and power users who value a distraction-free reading experience. Built with Expo and the latest React Native capabilities, it features a clean UI, robust offline caching, and seamless cross-platform performance (iOS, Android, Web).
Unlike bloated aggregators, FeedStack keeps it simple: discover, read, and save what matters.
- 📱 Cross-Platform: Optimized for Android, iOS, and Web using Expo.
- 📰 Smart Discovery: Browse curated articles and trending feeds.
- ⚡ Offline First: Intelligent caching layer for reading on the go.
- 🔖 Bookmarks: Save articles locally for later access.
- 🎨 Modern UI: Clean aesthetics with Dark/Light mode support.
- 🔔 Notifications: (Coming Soon) Stay updated with breaking news.
- Core: React Native, Expo, TypeScript
- Routing: Expo Router (File-based routing)
- State/Cache: Context API + Custom Caching Service
- Persistence:
AsyncStorage - Network:
Axios - API: NewsAPI
We follow a clean, opinionated src/ directory structure to keep the codebase scalable.
/
├── src/
│ ├── api/ # API clients and endpoints (NewsAPI, etc.)
│ ├── app/ # Expo Router screens (file-based routing)
│ ├── components/ # Reusable UI components
│ ├── constants/ # App-wide constants (Colors, Config)
│ ├── hooks/ # Custom React hooks
│ ├── services/ # Core business logic (Storage, Cache, Notifications)
│ └── types/ # Global TypeScript definitions
├── assets/ # Images, fonts, and static resources
└── package.json # Dependencies and scripts
Follow these steps to get the app running locally.
- Node.js (LTS version recommended)
- npm or yarn
- Expo Go app on your physical device OR Android Studio / Xcode for simulators.
-
Clone the repository:
git clone https://github.com/0xZayyad/feedstack.git cd feedstack -
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in the root directory:touch .env
Add your NewsAPI key (get one here):
EXPO_PUBLIC_NEWS_API_KEY=your_api_key_here
Start the development server:
npm start- Press
ato open on Android Emulator. - Press
ito open on iOS Simulator. - Press
wto run in the browser. - Scan the QR code with Expo Go to run on a physical device.
Contributions are what make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feat/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
0xZayyad - GitHub
Project Link: https://github.com/0xZayyad/feedstack



