Publications, indie blogs, and newsletters in one chronological feed.
A Daily Digest that catches you up in five minutes. Use the hosted app or run it yourself.
Tip
Watch or star the repo to hear about new releases, and come say hi in Discord if you want a say in what gets built next.
I follow a mix of tech writers, market newsletters, political coverage, and a handful of small blogs. Before Readspace, those lived in different places: publications on their own sites, newsletters piling up in Gmail, indie blogs in bookmarks I never opened. Social feeds put everything in one place, but an algorithm picks what you see and the feed never ends.
RSS fixes most of this, but the readers built on it tend to assume you already know how RSS works. You start with an empty screen and a box asking for a feed URL, and the mobile apps are usually an afterthought. I wanted an RSS reader my mom could use without ever learning what RSS is.
Readspace also makes it easier to discover new sources. Explore over 120,000 feeds with semantic search on the hosted service, from major publications to indie blogs and hidden gems across the open web.
Read the manifesto for the longer version.
New to RSS? RSS is an open format websites use to publish their latest posts. A reader checks the feeds you subscribe to and collects new entries in one place, with no platform deciding what appears.
- Discover publications, indie blogs, and hidden gems across 120,000+ feeds with semantic search on the hosted service.
- See similar feeds for any source you follow
- Paste a feed URL or a plain website, or let the browser extension find a site's feed as you browse
- Follow sites without native feeds through RSSHub using
rsshub://routes - Import and export subscriptions with OPML
- Newsletters go in the same feed. Hosted accounts get a private
@readspace.aiaddress. Point your Substack and TLDR subscriptions at it and they show up next to everything else.
- Chronological RSS and Atom timeline with all, today, and unread views. Nothing is ranked or reordered.
- Folders, unread counts, and read/unread controls for articles, feeds, and folders
- Full-article extraction when a feed only provides an excerpt
- Save feed articles to read later, or archive any webpage from the browser extension
- Recently read history for finding articles you opened before
- Light and dark themes across web, mobile, and extension
- The Daily Digest. Each morning it goes through what your sources published and gives you a five-minute briefing: the big stories first, then a few articles worth reading in full. It only uses sources you follow and links every item back to the original.
- Summaries, skim-mode highlights, and translations in the article reader
- AI never adds sources or reorders your feed. Self-hosters can use their own Gemini key or turn AI off.
- Web, iOS, Android, Chrome, and Firefox, with reading state synced across all of them
- The store apps work with your own server. Enter your instance URL in the iOS, Android, or extension settings. No forks or sideloading.
Both run the same codebase. The hosted service adds the infrastructure that is impractical to ship in a Compose file.
Hosted (app.readspace.ai) |
Self-hosted | |
|---|---|---|
| Feeds, folders, timeline, read state | ✅ | ✅ |
| Web, iOS, Android, Chrome, Firefox clients | ✅ | ✅ |
| Read later, page archiving, full-text extraction | ✅ | ✅ |
| OPML import and export | ✅ | ✅ |
| RSSHub routes | ✅ | ✅ (bundled instance) |
| Daily digest, summaries, translations | ✅ | Bring your own Gemini key, or turn AI off |
| 120,000+ feed discovery catalog | ✅ | Add feeds by RSS URL or OPML |
| Newsletter address | ✅ | Not available |
| Runs on your own hardware, your own data | No | ✅ |
The browser extensions and mobile apps connect to a self-hosted instance using only its instance URL, so you can use the App Store and Play Store builds against your own server.
The Docker setup runs the web app, API, workers, Supabase, Redis, Meilisearch, and an optional RSSHub instance.
- Git
- Docker Engine or Docker Desktop with Docker Compose
- Bash,
curl,jq, and OpenSSL
git clone https://github.com/kamui-fin/readspace.git
cd readspace
./docker/setup.sh
./docker/launch.shsetup.sh configures the public URL, RSSHub, and optional AI support. launch.sh builds and starts the stack. Running setup again preserves existing secrets unless you explicitly rotate them.
Open http://localhost:18042 and create an account. To make it an administrator:
./docker/promote-admin.sh you@example.comFor a public deployment, follow the reverse proxy examples for Caddy, Nginx, or Traefik.
Open the extension or mobile app settings and enter your instance URL. This is the URL of the Readspace API, which usually ends in port 18008:
http://192.168.1.42:18008
That is the only value the client needs; Supabase configuration is discovered automatically. Use your public HTTPS API URL instead when running behind a reverse proxy.
Reset or rotate secrets
[!CAUTION] Resetting permanently deletes all instance data.
./docker/reset.sh
./docker/launch.shTo also regenerate secrets:
./docker/reset.sh
./docker/setup.sh --regenerate-secrets
./docker/launch.shReadspace is a monorepo containing several product surfaces and services:
| Path | What it contains |
|---|---|
apps/web |
Next.js web application |
apps/mobile |
Expo / React Native mobile application |
apps/extension |
Chrome and Firefox browser extension |
apps/inbound |
Hosted newsletter ingestion worker |
server |
FastAPI API, feed processing, and background jobs |
packages |
Shared code, configuration, and design tokens |
docker |
Self-hosted infrastructure and setup scripts |
For prerequisites, local infrastructure, app-specific commands, database migrations, tests, and pull-request guidance, see CONTRIBUTING.md.
You do not need to run the whole stack to help. Documentation fixes, self-hosting reports, browser extension tweaks, design feedback, and bug reports all help, and they are the easiest place to start.
- Read the contributing guide.
- Check existing issues before opening a new one.
- For ideas or questions that are not yet actionable bugs, start a GitHub discussion.
Self-hosted Readspace on something unusual, or hit a wall during setup? Tell us in Discord or a discussion. Setup friction reports are one of the most valuable contributions right now.
Readspace is licensed under the GNU Affero General Public License v3.0.




