<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bryan Leonard</title>
    <description>The latest articles on DEV Community by Bryan Leonard (@bryanqirallc).</description>
    <link>https://dev.to/bryanqirallc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3911571%2F7c83fb5b-1ac4-4a25-b2a3-ef4ee92e33a0.jpg</url>
      <title>DEV Community: Bryan Leonard</title>
      <link>https://dev.to/bryanqirallc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bryanqirallc"/>
    <language>en</language>
    <item>
      <title>Building a News Aggregator Without an Engagement Algorithm</title>
      <dc:creator>Bryan Leonard</dc:creator>
      <pubDate>Mon, 04 May 2026 07:58:22 +0000</pubDate>
      <link>https://dev.to/bryanqirallc/building-a-news-aggregator-without-an-engagement-algorithm-4mcj</link>
      <guid>https://dev.to/bryanqirallc/building-a-news-aggregator-without-an-engagement-algorithm-4mcj</guid>
      <description>&lt;h1&gt;
  
  
  Building a News Aggregator Without an Engagement Algorithm
&lt;/h1&gt;

&lt;p&gt;I have been building a project called &lt;strong&gt;WeSearch&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wesearch.press" rel="noopener noreferrer"&gt;https://wesearch.press&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is a free news aggregator that pulls from hundreds of sources, keeps discovery mostly chronological, adds source/bias context where available, preserves permanent daily archives, and allows anonymous discussion on stories.&lt;/p&gt;

&lt;p&gt;The project started from a simple frustration:&lt;/p&gt;

&lt;p&gt;Most news discovery products are either too personalized, too paywalled, too noisy, too opaque, or too socially distorted.&lt;/p&gt;

&lt;p&gt;I wanted something closer to this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a wide source feed&lt;/li&gt;
&lt;li&gt;no account required&lt;/li&gt;
&lt;li&gt;no paywall&lt;/li&gt;
&lt;li&gt;no tracking&lt;/li&gt;
&lt;li&gt;chronological discovery&lt;/li&gt;
&lt;li&gt;source context&lt;/li&gt;
&lt;li&gt;permanent archives&lt;/li&gt;
&lt;li&gt;anonymous discussion&lt;/li&gt;
&lt;li&gt;less algorithmic manipulation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That sounds simple, but once you start building it, the hard part is not fetching headlines.&lt;/p&gt;

&lt;p&gt;The hard part is trust.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem with modern news discovery
&lt;/h2&gt;

&lt;p&gt;There are several existing models for news discovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Google News&lt;/strong&gt; is broad, but opaque. You get a feed, but you do not always know why certain stories are ranked or why certain sources are emphasized.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reddit and X&lt;/strong&gt; are fast, but socially distorted. Stories become memes, outrage cycles, or identity signals before they become information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RSS readers&lt;/strong&gt; are powerful, but require setup and source selection. They are great for people who already know what they want to follow. They are less useful for broad public discovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ground News, AllSides, and similar products&lt;/strong&gt; are useful because they introduce comparison and bias context, but some of the most useful features are often gated behind subscriptions or limited interfaces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hacker News&lt;/strong&gt; is extremely high signal for technical and startup-related topics, but it is not a general-purpose news aggregator.&lt;/p&gt;

&lt;p&gt;So the question I kept coming back to was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What would a news aggregator look like if it tried to be less addictive, less opaque, and more useful for comparing coverage?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is the question behind WeSearch.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why chronological discovery still matters
&lt;/h2&gt;

&lt;p&gt;A lot of modern feeds are optimized around engagement.&lt;/p&gt;

&lt;p&gt;That usually means the system decides what you should see based on some mixture of clicks, dwell time, reactions, shares, prior behavior, and predicted interest.&lt;/p&gt;

&lt;p&gt;That can be useful, but it creates a problem:&lt;/p&gt;

&lt;p&gt;The feed stops being a window into what is happening and becomes a mirror of what the system thinks will keep you engaged.&lt;/p&gt;

&lt;p&gt;For news, that is dangerous.&lt;/p&gt;

&lt;p&gt;A chronological feed is not perfect. It can be noisy. It can be overwhelming. It can miss importance. But it has one major advantage:&lt;/p&gt;

&lt;p&gt;It is legible.&lt;/p&gt;

&lt;p&gt;You can understand why something appears.&lt;/p&gt;

&lt;p&gt;It appeared because it was published or discovered recently.&lt;/p&gt;

&lt;p&gt;That does not solve ranking, source quality, duplication, or bias. But it gives the user a clean baseline. From that baseline, you can add filtering, clustering, search, source context, and archive views without turning the whole thing into a black box.&lt;/p&gt;

&lt;p&gt;That is why WeSearch leans chronological first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Source context is useful, but bias labels are not enough
&lt;/h2&gt;

&lt;p&gt;One of the obvious features for a news aggregator is source labeling.&lt;/p&gt;

&lt;p&gt;People want to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;where the article came from&lt;/li&gt;
&lt;li&gt;whether the outlet has a known political tendency&lt;/li&gt;
&lt;li&gt;whether the source is reliable&lt;/li&gt;
&lt;li&gt;whether the article is reporting, opinion, analysis, or commentary&lt;/li&gt;
&lt;li&gt;how other outlets are covering the same event&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But a simple left / center / right label is dangerously incomplete.&lt;/p&gt;

&lt;p&gt;Two articles can both come from “left” sources and still be completely different in quality.&lt;/p&gt;

&lt;p&gt;One may be careful reporting with primary sources.&lt;/p&gt;

&lt;p&gt;Another may be mostly emotional framing.&lt;/p&gt;

&lt;p&gt;The same is true for “right” sources.&lt;/p&gt;

&lt;p&gt;And “center” does not always mean “truthful” or “neutral.” Sometimes it means careful. Sometimes it means bland. Sometimes it means institutionally cautious. Sometimes it means avoiding claims that should actually be made.&lt;/p&gt;

&lt;p&gt;So the long-term goal should not be:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Put a political label next to every article and call it solved.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The better goal is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Show source tendency, article framing, sourcing depth, factual density, tone, and coverage asymmetry separately.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is much harder, but it is also much more honest.&lt;/p&gt;




&lt;h2&gt;
  
  
  The difference between source bias and article framing
&lt;/h2&gt;

&lt;p&gt;This distinction matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Source bias&lt;/strong&gt; is about the outlet over time.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What stories does it usually emphasize?&lt;/li&gt;
&lt;li&gt;What language does it tend to use?&lt;/li&gt;
&lt;li&gt;Which political or institutional assumptions does it carry?&lt;/li&gt;
&lt;li&gt;What audience does it appear to serve?&lt;/li&gt;
&lt;li&gt;How often does it correct mistakes?&lt;/li&gt;
&lt;li&gt;How close is it to primary-source material?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Article framing&lt;/strong&gt; is about one specific article.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What facts does the headline emphasize?&lt;/li&gt;
&lt;li&gt;What facts are buried?&lt;/li&gt;
&lt;li&gt;What words carry emotional weight?&lt;/li&gt;
&lt;li&gt;Who is quoted?&lt;/li&gt;
&lt;li&gt;Who is ignored?&lt;/li&gt;
&lt;li&gt;Is the piece written as reporting, analysis, advocacy, or outrage?&lt;/li&gt;
&lt;li&gt;Does it separate claims from interpretation?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A serious news aggregator should not collapse those into one score.&lt;/p&gt;

&lt;p&gt;An outlet can have a general bias while still publishing a fair article.&lt;/p&gt;

&lt;p&gt;A generally reliable outlet can still publish a weak or misleading article.&lt;/p&gt;

&lt;p&gt;A low-reputation source can sometimes surface a real story before institutions do.&lt;/p&gt;

&lt;p&gt;That is why the interface needs to preserve nuance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Permanent daily archives
&lt;/h2&gt;

&lt;p&gt;One design choice I care about is permanent daily archives.&lt;/p&gt;

&lt;p&gt;A normal feed disappears as it updates. Yesterday’s information gets buried. Last week’s framing is hard to reconstruct. The user sees the present feed, but not the shape of coverage over time.&lt;/p&gt;

&lt;p&gt;Permanent daily archives solve part of that.&lt;/p&gt;

&lt;p&gt;Each day becomes a stable page.&lt;/p&gt;

&lt;p&gt;That makes it easier to answer questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What was being covered on a specific day?&lt;/li&gt;
&lt;li&gt;Which stories dominated?&lt;/li&gt;
&lt;li&gt;Which topics disappeared quickly?&lt;/li&gt;
&lt;li&gt;Which sources covered an event early?&lt;/li&gt;
&lt;li&gt;How did the language around a story change?&lt;/li&gt;
&lt;li&gt;What did the news environment look like before later context emerged?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is useful for users, but it is also useful structurally.&lt;/p&gt;

&lt;p&gt;A news aggregator should not only be a live feed. It should become a public memory layer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Anonymous discussion: useful or dangerous?
&lt;/h2&gt;

&lt;p&gt;WeSearch currently allows anonymous discussion.&lt;/p&gt;

&lt;p&gt;That decision is controversial.&lt;/p&gt;

&lt;p&gt;The upside is obvious:&lt;/p&gt;

&lt;p&gt;People can comment without creating an account, building a profile, or turning every opinion into part of a permanent identity graph.&lt;/p&gt;

&lt;p&gt;That lowers friction.&lt;/p&gt;

&lt;p&gt;It also makes the product feel less like a social network and more like a public annotation layer.&lt;/p&gt;

&lt;p&gt;But anonymity has risks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;spam&lt;/li&gt;
&lt;li&gt;abuse&lt;/li&gt;
&lt;li&gt;low-quality comments&lt;/li&gt;
&lt;li&gt;astroturfing&lt;/li&gt;
&lt;li&gt;drive-by political noise&lt;/li&gt;
&lt;li&gt;reduced accountability&lt;/li&gt;
&lt;li&gt;lower trust&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The challenge is designing anonymous discussion so it does not become anonymous garbage.&lt;/p&gt;

&lt;p&gt;Some possible approaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;rate-limit comments&lt;/li&gt;
&lt;li&gt;add lightweight moderation&lt;/li&gt;
&lt;li&gt;separate “questions” from “opinions”&lt;/li&gt;
&lt;li&gt;let users mark comments as useful, misleading, or low-effort&lt;/li&gt;
&lt;li&gt;encourage source-backed replies&lt;/li&gt;
&lt;li&gt;show discussion quality signals instead of identity signals&lt;/li&gt;
&lt;li&gt;avoid follower counts and personality-driven posting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key design question is whether discussion should be social or analytical.&lt;/p&gt;

&lt;p&gt;For a news product, I think discussion should be closer to annotation than performance.&lt;/p&gt;




&lt;h2&gt;
  
  
  The trust problem
&lt;/h2&gt;

&lt;p&gt;A news aggregator has a harder trust problem than most products.&lt;/p&gt;

&lt;p&gt;If you build a todo app, users ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Does it work?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you build a news aggregator, users ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why should I trust what this thing chooses to show me?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That means the product needs visible trust signals.&lt;/p&gt;

&lt;p&gt;Not fake authority. Real transparency.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;source list&lt;/li&gt;
&lt;li&gt;source policy&lt;/li&gt;
&lt;li&gt;correction policy&lt;/li&gt;
&lt;li&gt;ranking methodology&lt;/li&gt;
&lt;li&gt;bias-label methodology&lt;/li&gt;
&lt;li&gt;explanation of what is automated&lt;/li&gt;
&lt;li&gt;explanation of what is human-reviewed&lt;/li&gt;
&lt;li&gt;clear distinction between source labels and article labels&lt;/li&gt;
&lt;li&gt;visible date/time metadata&lt;/li&gt;
&lt;li&gt;no pretending that the system is perfectly objective&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The worst thing a news product can do is imply neutrality while hiding all the decisions that shape what people see.&lt;/p&gt;

&lt;p&gt;A better approach is to expose the machinery.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I would avoid
&lt;/h2&gt;

&lt;p&gt;If I were designing a serious news comparison system, I would avoid a few traps.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Do not pretend one bias score explains an article
&lt;/h3&gt;

&lt;p&gt;A single label can help orient the user, but it should not be the whole analysis.&lt;/p&gt;

&lt;p&gt;Bias is multi-dimensional.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Do not over-personalize the feed
&lt;/h3&gt;

&lt;p&gt;Personalization is convenient, but it quietly narrows perception.&lt;/p&gt;

&lt;p&gt;For news, user control is better than hidden behavioral targeting.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Do not hide the source list
&lt;/h3&gt;

&lt;p&gt;If a product claims to aggregate many sources, users should be able to see what those sources are.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Do not turn discussion into another social network
&lt;/h3&gt;

&lt;p&gt;Follower mechanics, clout loops, and identity performance can damage the informational value of a news product.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Do not index thousands of empty pages
&lt;/h3&gt;

&lt;p&gt;This is more of a technical SEO point, but it matters.&lt;/p&gt;

&lt;p&gt;If a site creates source pages, tag pages, archive pages, and story pages, it needs to avoid exposing too many thin or empty URLs. Search engines and users both interpret that as low quality.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I am still figuring out
&lt;/h2&gt;

&lt;p&gt;The project is still early, and several hard questions are unresolved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Story clustering
&lt;/h3&gt;

&lt;p&gt;When ten outlets cover the same event, should those articles be grouped together automatically?&lt;/p&gt;

&lt;p&gt;Probably yes.&lt;/p&gt;

&lt;p&gt;But clustering can go wrong. Similar headlines do not always mean identical stories. Different angles may deserve separation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Source weighting
&lt;/h3&gt;

&lt;p&gt;Should a more reliable source receive stronger visibility?&lt;/p&gt;

&lt;p&gt;Probably yes.&lt;/p&gt;

&lt;p&gt;But if weighting is too aggressive, the system becomes another hidden ranking engine.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bias display
&lt;/h3&gt;

&lt;p&gt;Should bias labels be visible immediately, or should users first see the article/source and then open a deeper comparison panel?&lt;/p&gt;

&lt;p&gt;I am not sure yet.&lt;/p&gt;

&lt;p&gt;Immediate labels are useful, but they can also prime users before they read.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anonymous discussion
&lt;/h3&gt;

&lt;p&gt;Should anonymous comments be central to the product, or should they be secondary to source comparison?&lt;/p&gt;

&lt;p&gt;This is still an open product question.&lt;/p&gt;

&lt;h3&gt;
  
  
  Search vs feed vs comparison
&lt;/h3&gt;

&lt;p&gt;A news aggregator can become several different products:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;live feed&lt;/li&gt;
&lt;li&gt;searchable archive&lt;/li&gt;
&lt;li&gt;RSS replacement&lt;/li&gt;
&lt;li&gt;media-bias comparison tool&lt;/li&gt;
&lt;li&gt;anonymous news discussion layer&lt;/li&gt;
&lt;li&gt;research tool&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Trying to be all of them at once can make the product confusing.&lt;/p&gt;

&lt;p&gt;The hard part is choosing the primary job.&lt;/p&gt;




&lt;h2&gt;
  
  
  The current direction
&lt;/h2&gt;

&lt;p&gt;Right now, I think the strongest direction is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A chronological news aggregator with source context, permanent archives, and lightweight anonymous discussion.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then, over time, add stronger comparison features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;related coverage clusters&lt;/li&gt;
&lt;li&gt;source diversity views&lt;/li&gt;
&lt;li&gt;article-level framing analysis&lt;/li&gt;
&lt;li&gt;factuality/source-depth indicators&lt;/li&gt;
&lt;li&gt;topic timelines&lt;/li&gt;
&lt;li&gt;left/right/center coverage maps&lt;/li&gt;
&lt;li&gt;correction and update tracking&lt;/li&gt;
&lt;li&gt;“what is missing?” indicators&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The product should not just answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What happened?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It should also help answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Who is covering it?&lt;br&gt;
How are they framing it?&lt;br&gt;
What context is missing?&lt;br&gt;
Which claims are confirmed?&lt;br&gt;
Which parts are interpretation?&lt;br&gt;
How did coverage change over time?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is where a news aggregator can become more than a headline feed.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I think this matters
&lt;/h2&gt;

&lt;p&gt;The internet does not have an information shortage.&lt;/p&gt;

&lt;p&gt;It has a context shortage.&lt;/p&gt;

&lt;p&gt;There are endless headlines, feeds, posts, clips, takes, screenshots, and reactions.&lt;/p&gt;

&lt;p&gt;But it is still hard to see the shape of coverage across sources.&lt;/p&gt;

&lt;p&gt;It is hard to know which parts of a story are factual, which parts are framing, and which parts are omission.&lt;/p&gt;

&lt;p&gt;It is hard to compare coverage without manually opening ten tabs.&lt;/p&gt;

&lt;p&gt;It is hard to discuss news without the conversation becoming identity performance.&lt;/p&gt;

&lt;p&gt;That is the space I am trying to explore with WeSearch.&lt;/p&gt;

&lt;p&gt;Not a perfect truth machine.&lt;/p&gt;

&lt;p&gt;Not another engagement feed.&lt;/p&gt;

&lt;p&gt;Not another paywalled dashboard.&lt;/p&gt;

&lt;p&gt;Just a clearer way to scan, compare, archive, and discuss what is being published.&lt;/p&gt;

&lt;p&gt;The site is here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wesearch.press" rel="noopener noreferrer"&gt;https://wesearch.press&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is still rough in places, but the core structure is live.&lt;/p&gt;

&lt;p&gt;I would be interested in criticism from people who care about search, RSS, journalism, media bias, recommendation systems, moderation, or information retrieval.&lt;/p&gt;

&lt;p&gt;The question I keep coming back to is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What would a news aggregator need to show before you would actually trust it?&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>news</category>
      <category>webdev</category>
      <category>privacy</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
