How Roam Works
One button. One page. A discovery engine that balances community quality, your taste, and serendipity — without any algorithmic feed.
TL;DR
- Press Roam → land on a curated page
- Rate 👍👎 → your taste shapes future discoveries
- Five signals decide what you see: community votes, editorial quality, your preferences, freshness, and serendipity
- Downvote a domain twice → auto-muted for 30 days
- Open source, community-curated, no algorithms optimizing for engagement
The basics
Press the button. In the browser extension or mobile app, tap “Roam” and land on a real page curated by real people.
Rate what you see. Thumbs up or down on any page. Your votes shape what you see next and help the community surface great content.
Save for later. Found something worth keeping? Save it to a collection. Read offline on Android, or revisit anytime.
Roam again. Each press sends you somewhere new. The hot queue pre-fetches pages so discovery feels instant.
How the algorithm picks a page
The discovery function runs directly in PostgreSQL. When you press the button, it balances five independent signals to pick a page you’ll likely enjoy:
Community quality
Statistically-correct ranking (Wilson score) that handles small vote counts fairly. A page with 10/10 upvotes ranks accurately against one with 800/1000.
Editorial signal
Source reputation — HN score, citation count, Reddit karma, and more — gives an independent quality baseline before any Roam user even votes.
Your taste
Topics you upvote appear more often (up to 2× weight). Downvoting doesn’t hide a topic — it just dials the weight back slightly. Calibrated per subcategory.
Freshness
Recently published pages get a mild boost; very old ones fade gradually. You won’t get stale content, but timeless gems still surface.
Exploration bonus
Newly seeded pages receive a small boost to keep fresh content circulating. A 12% chance of an adjacent topic in discovery mode adds intentional serendipity.
How personalization works
Topic affinity
Your upvotes and downvotes calibrate how often each subcategory appears. Fine-grained — the system tracks preferences across 70+ subcategories like Science, Art, and Gaming.
Domain muting
Two downvotes from the same domain triggers a 30-day auto-mute. That site won’t appear again until the cooldown expires.
Domain cooldown
A 30-minute per-session cooldown prevents seeing the same site twice in a row, keeping discovery diverse.
Focus & collection modes
Narrow discovery to specific categories with Focus mode, or browse within a saved collection with Collection mode.
The community layer
Submit pages. Anyone can submit a URL. It goes through a moderation queue with duplicate detection before entering the discovery pool.
Wilson score ranking. Every vote recalculates the page’s community score automatically. No cron jobs, no batch processing — rankings are always live.
Public and private collections. Curate lists that others can follow, or keep them to yourself.
Follow users. See their public collections, interests, and profile on Roam. Discover new curators through the people you follow.
Where you can roam
Browser extension
Click the roam button while browsing to discover new pages. Rate pages with 👍👎 to personalize your recommendations. Deliberately non-intrusive — nothing is injected into pages you visit.
Android app
Swipe to discover. Tap to save. Read offline. The full Roam experience in your pocket with an in-app browser.
Coming soon to Google PlayWeb
Manage your account, set your interests, browse collections, and moderate submissions — all from the web dashboard.
Frequently asked questions
→Why did I see the same page twice?
Roam tracks pages you’ve seen and excludes them for 30 days. If you saw the same page twice in one session, it may have come from a different URL (e.g., with/without www). Report it via the feedback form and we’ll investigate.
→How do I stop seeing a particular site?
Downvote two pages from the same domain and it’s automatically muted for 30 days. You can also enable “Skip paywalled sites” in Settings to hide NYT, WSJ, and similar publications entirely.
→How do I submit a URL?
Click “Submit URL” from your profile, or use the 👍 button on an unknown page in the browser extension or Android app. All submissions go through moderation before appearing in the discovery pool. Max 10 per hour.
→What happens if I downvote everything?
Downvoting doesn’t block topics — it just slightly reduces how often they appear (the weight goes from 1× to 0.8×). If you truly dislike a site, two downvotes from the same domain mutes it for 30 days.
→Is Roam really open source?
Yes — the source code for the website, browser extension, and Android app is available under the MIT license on GitHub. The URL catalogue and ratings database are not public (that’s the secret sauce), but the code that powers discovery is fully open.
→Can I use Roam without an account?
You can browse public collections and profiles without an account, but to roam (discover pages), rate content, save URLs, or create collections you’ll need to sign up. It’s free and takes about 30 seconds.
Ready to discover something new?
Get started