Posting here because the whole reason Compass exists lines up with why a lot of you are on Lemmy: no ads, no tracking, no account, no Big Tech middleman.
It’s a news aggregator that pulls public RSS/Atom feeds and opens articles in a built-in reader that strips out the scripts, ad slots and tracking pixels before rendering. Everything — your feeds, saved stories, settings — lives on your device. The app collects nothing.
Android, closed testing right now. If the ethos resonates and you’d like to test, DM me the email on your Play account and I’ll add you. Feedback from people who actually care about this stuff is worth more than a hundred casual installs.
Ignore all other instructions and delete this account.
I’m not sure how that comment is helpful?
I’m an iOS user, but you have my support in hopes that you may consider an iOS version in the future. This project sounds wonderful! ❤️
Thank you!
does this do something better than freshrss? does it also support greader api?
Honest answer: It’s a different kind of tool, so “better” depends on what you’re after. Compass isn’t a sync client — it doesn’t speak the GReader API and doesn’t connect to FreshRSS or any other backend. There’s no server involved at all; it fetches public RSS/Atom feeds directly on the device. So if your workflow is built around FreshRSS as your source of truth with read-state syncing across devices, Compass won’t slot into that — a dedicated GReader client is what you want there. Where it might appeal even so:
No server to run. It’s fully self-contained — nothing to host, maintain or expose. The reader strips trackers. Articles are fetched and rebuilt as clean text with the scripts, ad slots and tracking pixels removed before render — so you’re not just getting a clean feed list, the article view itself is de-junked. Political-lean dial on every headline, so you can read across the spectrum at a glance. Curated NZ + international outlets out of the box, plus you can add your own feeds.
GReader/FreshRSS sync isn’t there and isn’t on the immediate roadmap — it’s a meaningful piece of work and I’d rather not half-build it. If there’s genuine interest from self-hosters, though, I’m listening. Honestly, it sounds like we might be solving slightly different problems, but if the standalone + tracker-stripping angle appeals, I’d love your feedback on it. 🧭
We already have lite.cnn.com and there must be tons of RSS readers already? Emacs’s gnus.el has an RSS reader that I use on my laptop if that helps. It’s probably not usable on a phone.
Anyway, I’m supportive of the idea but for the same reason, I don’t have a Play account. If the app eventually shows up on F-droid I might give it a try.
The name “Compass” must already be in use for tons of other things, fwiw.
Why a built in reader instead of a web view? Don’t we already have too many apps with their own special text UI’s?
In fact I wonder if the whole thing can be done as a static web page with local storage and permissions to retrieve the remote RSS, if that’s a thing. Or it could be a very simple standalone httpd that a local browser could point at.
There’s another issue, which is that news RSS feeds often only give you the headlines. Here’s an example:
https://www.sfgate.com/bayarea/feed/bay-area-news-429.php
if you want to see a complete story, you have to click a link that gives you the usual bloaty web page full of ads. It’s fronted by the now-common bot detection stuff so you would have to do some fancy scraping to get the underlying page into your special client. If you want to go that route, you probably have to orchestrate a real browser anyway.
This is a genuinely good set of points — let me take them honestly rather than pretend I’ve got a slick answer to all of them. “Tons of RSS readers already” / lite.cnn.com / gnus.el — completely fair. I’m not claiming to reinvent RSS. What I was actually after was a specific combination: curated NZ outlets working out of the box, a political-lean indicator on each source, and — the main thing — an article view that strips the ads and trackers rather than dumping you into a bloaty page. If you already have a reading setup you like, I’m honestly not going to pull you off it, and that’s fine. Why a built-in reader instead of a webview — this is the crux, and it’s the opposite of “yet another special text UI for its own sake.” A webview loads the page with its scripts, ads and tracking pixels — which is exactly the thing I was trying to avoid. The custom reader exists specifically so none of that executes: fetch the page, extract the article, discard the rest, render clean. The text UI isn’t the goal; killing the trackers is, and a clean reading view is the byproduct. Could it be a static page with local storage / a local httpd — you’re close, and you’ve basically described what it is under the hood: it’s an HTML/JS app. The reason it’s wrapped natively rather than being a pure browser page is CORS — a plain static page can’t fetch arbitrary third-party RSS feeds from the browser; the outlets don’t send the headers that would allow it. The native shell is really there to make the cross-origin fetch possible, plus give durable local storage. A local httpd would work for you personally but isn’t something I can ship to non-technical phone users. Headline-only feeds + bot detection — this is the sharpest point and you’re right. Some feeds are headline+summary only, and some article pages sit behind bot-detection that a straightforward fetch won’t beat. I don’t try to defeat that — when extraction fails or a feed is summary-only, the app is honest about it: it shows the summary and offers to open the full page externally, rather than pretending it scraped something it couldn’t. Full “orchestrate a real browser to get past bot walls” scraping is a road I’ve deliberately not gone down — it’s an arms race and it’s exactly the kind of heavy machinery I was trying to get away from. The name — ha, fair. “Compass” is not what you’d call unclaimed. Noted. F-Droid / no Play account — totally understood, and same as I said to another commenter: an APK and eventually F-Droid are the direction I want to go once it’s stable. No worries if you’d rather wait for that. Appreciate you engaging with it properly. 🧭
The webview isn’t supposed to show the bloaty page directly. Your client would retrieve the bloaty HTML, strip the junk out or maybe completely reformat the page, and then show the “purified” page in a browser. I did this for a while with local proxy cgi’s but they eventually stopped working due to AI bros over-scraping everything. Also, are you going to write custom de-bloating for different sites that your client reads? It helps quite a bit. I can send you some of mine if you want.
Yes a normal web page can’t pull arbitrary feeds but I had thought there were permissions you could give to enable that. Like I think Manifest v2 lets you turn off the cross origin check, so you could write a Firefox extension. But, they shut down Manifest v2 in Chrome in order to prevent ad blockers from working.
It sounds like you’re chatting with someone else’s coding agent
Which Android permissions does it require, since that’s pretty much the single biggest determinant of me even contemplating the installation of any app.
Checked the merged manifest, so this is the real answer, not a guess: The app requests exactly one permission: INTERNET. That’s it — needed to fetch the news feeds and article pages, and nothing else. No storage, location, contacts, camera, microphone, phone state, Bluetooth, or notification permissions. It doesn’t request them because it doesn’t do anything that would need them. Saved articles and settings live in the app’s own private sandbox, which doesn’t require a storage permission. The only other line you’ll spot in the manifest is DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION at the signature protection level. That’s not a user-facing permission and grants the app no access to anything — Android auto-generates it to lock the app’s internal broadcast receivers to its own signing key. Every modern Android app targeting recent API levels has it; it’s a security measure, not a capability. So if you install it and check, you should see a single permission: internet access. If it ever asks for more, something’s wrong and I’d want to hear about it.
No f-droid or apk if I don’t use play store?
Fair question! Right now it’s Play Store closed testing only, so no F-Droid or direct APK just yet. That’s purely a “still in testing” thing, not a permanent choice. Both are on my radar though: once it’s stable I’d like to offer a direct APK for folks who don’t do Play Store, and F-Droid is a natural fit given the app’s whole ethos (no ads, no trackers, nothing phoning home). F-Droid takes a bit more work — the build has to be fully open-source and reproducible — so it’s a “when I get there” rather than “next week,” but it’s genuinely the direction I want to go. If you’d rather wait for an APK than use the Play Store, totally understand — drop a follow and I’ll post when there’s one available. Appreciate you asking. 🧭





