Quereada provides tools to build your own feeds from anything on the internet. It is available as a desktop app or self-hosted web app. Click here to see a demo.
Quereada is inspired by RSS readers, but more customizable and flexible. Think of it as an data pipeline for information, built from modular components:
-
Sources: Generalized RSS feeds that collect items from anywhere on the internet and store them in a local database. Examples: news articles, arxiv papers, blog posts, tweets, sports scores, job postings.
-
Filters: Used to filter items. For example, by filtering for items that are relevant (or not) to certain topics.
-
Blocks: Components that make up feeds:
- Streams: Infinite-scroll item lists defined by database queries.
- Digests: LLM-generated summaries of items and/or digests from other blocks. These are composable.
-
Feeds: Sequences of blocks that users navigate between.
Some features (summarization, topic filtering, digests) use external APIs. Quereada minimizes API calls and caches results to avoid duplicates.
git clone https://github.com/eohjelle/quereada.git
cd quereada
npm install
npm run db:build
npm run electron:package:macThe app will be in the dist folder. Pre-built releases may be available on the Releases page.
Note: If building for a different platform than your current one, you may need to modify the Prisma schema to use the correct database driver. See this discussion.
Config location: ~/.config/quereada/ (Linux), ~/Library/Application Support/quereada/ (macOS), AppData\Roaming\quereada (Windows)
git clone https://github.com/eohjelle/quereada.git
cd quereada
npm install
npm run db:build
npm run web:build
npm run web:startUses SQLite by default. For PostgreSQL, update schema.prisma and set DATABASE_URL in .env.
Config location: Project root (.env for keys, quereada.config.ts for feeds)
| Key | Used for |
|---|---|
OPENAI_API_KEY |
Summarization, topic filters, digests |
Set keys in keys.json (desktop) or .env (web).
The easiest way to configure Quereada is through the UI. Click the + button to:
- Add RSS sources (with auto-discovery from website URLs)
- Create simple queries with filters (good enough for most purposes but not maximally expressive)
- Generate AI digests
- Compose feeds from blocks
Changes are saved to quereada.config.ts.
The quereada.config.ts file exports four arrays:
export const sources: ConfigSource[] = [...]; // Where to fetch items
export const filters: ConfigFilter[] = [...]; // AI-powered filters
export const blocks: ConfigBlock[] = [...]; // Queries or digests
export const feeds: ConfigFeed[] = [...]; // What users seeAdd custom implementations in modules/:
- Sources: Extend the
Sourceclass inmodules/sources/ - Filters: Implement the
Filtertype inmodules/filters/
npm run electron:dev # Desktop with hot reload
npm run web:build && npm run web:start # Web app
npm run test # Run tests- Many popular platforms make it very difficult to extract content without browsing as a human, having strong anti-bot detection, non-existent or costly API, and no alternative methods of access like RSS.
- The app is only designed for desktop use.