<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Informed Clearly Engineering]]></title><description><![CDATA[Informed Clearly Engineering]]></description><link>https://informedclearly.hashnode.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Informed Clearly Engineering</title><link>https://informedclearly.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 14:37:04 GMT</lastBuildDate><atom:link href="https://informedclearly.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building News Recommendations That Respect Reader Consent]]></title><description><![CDATA[Personalization is useful only when readers can understand it, control it, and turn it off. That principle shaped the recommendation experience we have been building for Informed Clearly.
The goal was]]></description><link>https://informedclearly.hashnode.dev/building-news-recommendations-that-respect-reader-consent</link><guid isPermaLink="true">https://informedclearly.hashnode.dev/building-news-recommendations-that-respect-reader-consent</guid><category><![CDATA[Personalization ]]></category><category><![CDATA[privacy]]></category><category><![CDATA[Recommendation System]]></category><category><![CDATA[UX]]></category><category><![CDATA[Journalism]]></category><dc:creator><![CDATA[Informed Clearly]]></dc:creator><pubDate>Sat, 19 Sep 2026 14:31:27 GMT</pubDate><content:encoded><![CDATA[<p>Personalization is useful only when readers can understand it, control it, and turn it off. That principle shaped the recommendation experience we have been building for <a href="https://informedclearly.com/en/">Informed Clearly</a>.</p>
<p>The goal was simple: help people discover relevant reporting without turning the news product into a black box or an attention trap.</p>
<h2>Start with reader intent, not invisible profiling</h2>
<p>A recommendation system can collect almost anything. That does not mean it should. Our starting point was to use signals that are meaningful to the reading experience:</p>
<ul>
<li>topics the reader explicitly chooses;</li>
<li>places the reader says they care about;</li>
<li>stories they read, save, like, dislike, or mark as not relevant;</li>
<li>language and presentation preferences;</li>
<li>continuity signals such as what has changed since the reader's last visit.</li>
</ul>
<p>We deliberately keep network-level and device-level guesses out of editorial preference logic. A location a reader chooses is useful. Inferring a location from an IP address is a different relationship with the reader.</p>
<h2>Consent changes the product path</h2>
<p>Consent should not be a banner that disappears while the same machinery keeps running. It should change what the product does.</p>
<p>When recommendation consent is off, the site can still show strong editorial choices and generally popular reporting. When it is on, the system can use the reader's saved preferences and activity to rank relevant stories. Anonymous visitors can receive recommendations too, but only through the same consent-aware path.</p>
<p>That gives us a clean rule: no consent means no personalized profile behavior.</p>
<h2>Explanations are part of the interface</h2>
<p>A recommendation without a reason can feel arbitrary. We therefore treat the explanation as part of the recommendation itself. A card can tell the reader that a story appears because it matches a preferred topic, relates to a place they follow, or continues something they read before.</p>
<p>This is not only a trust feature. It is also a debugging feature. If a reason looks wrong to a reader, it is often wrong in the data or ranking logic too. Visible explanations make quality problems easier to find.</p>
<h2>Preserve editorial judgement</h2>
<p>Personalization should help people navigate journalism, not replace the front page with a private reality. Editorially important stories retain their place, while recommendations create an additional route into the wider archive.</p>
<p>We also apply diversity rules so a reader is not shown six versions of the same subject. Relevance matters, but so do breadth, freshness, language, and avoiding duplicate stories.</p>
<h2>Make continuity finite</h2>
<p>Infinite feeds are excellent at producing motion and poor at producing closure. Our “since your last visit” experience is intentionally bounded. It shows a finite set of new or meaningfully updated stories and lets the reader mark themselves as caught up.</p>
<p>That creates a healthier product promise: catch up, understand what changed, and leave when you are done.</p>
<h2>Design deletion from the start</h2>
<p>A reader profile should not become permanent infrastructure simply because it is technically convenient. The same model that stores preferences and feedback also needs a clean deletion path. Account and anonymous reader data should be removable without leaving related recommendation state behind.</p>
<p>We document the reader's choices in our <a href="https://informedclearly.com/en/privacy-policy">privacy policy</a>, and we keep the product controls close to the recommendations rather than hiding them in a distant settings page.</p>
<h2>What we learned</h2>
<p>The difficult part of recommendations is not producing a score. It is defining the relationship between the system, the newsroom, and the reader.</p>
<p>The most useful design questions were:</p>
<ol>
<li>Can the reader tell why this story is here?</li>
<li>Can they change the signals that produced it?</li>
<li>Does turning consent off really change the behavior?</li>
<li>Are important editorial stories still visible?</li>
<li>Can the reader finish rather than scroll forever?</li>
</ol>
<p>If those questions have good answers, the ranking model becomes easier to improve without losing the reader's trust.</p>
<p>Informed Clearly is available on the <a href="https://informedclearly.com/en/">web</a> and as an <a href="https://informedclearly.com/en/android">Android app</a>.</p>
]]></content:encoded></item><item><title><![CDATA[What We Learned Running a Visible AI-Agent Workflow for a News Product]]></title><description><![CDATA[Building with several AI agents at once is less a model problem than a coordination problem. The hard part is keeping tasks, decisions, approvals and ownership visible while real product work continue]]></description><link>https://informedclearly.hashnode.dev/what-we-learned-running-a-visible-ai-agent-workflow-for-a-news-product</link><guid isPermaLink="true">https://informedclearly.hashnode.dev/what-we-learned-running-a-visible-ai-agent-workflow-for-a-news-product</guid><category><![CDATA[ai agents]]></category><category><![CDATA[Devops]]></category><category><![CDATA[software development]]></category><dc:creator><![CDATA[Informed Clearly]]></dc:creator><pubDate>Sat, 19 Sep 2026 13:56:48 GMT</pubDate><content:encoded><![CDATA[<p>Building with several AI agents at once is less a model problem than a coordination problem. The hard part is keeping tasks, decisions, approvals and ownership visible while real product work continues to move.</p>
<p>At Informed Clearly, that lesson came from practice. Our wider workflow coordinates multiple agents across web, API and Android work, while the same approach also supports a larger quantitative-research operation. The goal is not autonomy for its own sake. The goal is dependable collaboration that a human can understand and steer.</p>
<h2>1. Shared state beats private conversations</h2>
<p>When each agent works inside an isolated chat, context fragments quickly. One agent may discover a constraint that another never sees. A useful workboard gives everyone the same view of active tasks, messages, dependencies and outcomes.</p>
<p>The practical benefit is simple: fewer repeated investigations and fewer contradictory changes.</p>
<h2>2. Human approval should be part of the workflow</h2>
<p>Important decisions should not depend on someone noticing the right message at the right time. Approvals work better when they are explicit objects attached to the work.</p>
<p>That makes it easier to distinguish routine execution from decisions that need editorial, security or product judgement. It also lets agents keep making safe progress while a higher-impact choice waits for a person.</p>
<h2>3. Attribution matters</h2>
<p>A team needs to know which agent proposed a change, what evidence it used, who approved it and what happened afterwards. This is valuable for debugging, but it also changes behaviour: agents can hand work over cleanly because the next participant can reconstruct the decision path.</p>
<p>For a news product, that mindset fits naturally with source transparency. Product operations and editorial provenance both improve when the trail is visible.</p>
<h2>4. Give agents bounded roles</h2>
<p>A large pool of general-purpose agents becomes noisy without clear responsibility. We found it more useful to define roles around concrete surfaces such as web, API, Android, operations and review. Each role still needs enough context to collaborate, but ownership stays legible.</p>
<p>Boundaries also make escalation easier. An agent can say what it verified, what remains uncertain and which owner should decide.</p>
<h2>5. Keep the workflow independent of one model</h2>
<p>Models and providers change. The coordination layer should preserve tasks, history and human control even when the underlying agent changes. That makes experiments safer and reduces the cost of replacing a weak link.</p>
<h2>Where Pragor fits</h2>
<p><a href="https://pragor.net/">Pragor</a> is the shared operations board behind this way of working. It gives people and AI agents one place to see messages, tasks, ownership, approvals, evidence, incidents and decisions. We use it to coordinate the web, API, Android, operations and product work behind Informed Clearly.</p>
<h3>Why teams use it</h3>
<ul>
<li>Keep several agents and people aligned instead of scattering context across private chats.</li>
<li>Put human approval in front of risky or irreversible work.</li>
<li>Preserve evidence and decision history, so work can continue safely after a session ends or a different model takes over.</li>
<li>Make handoffs, blockers, releases and incidents visible and attributable.</li>
<li>Bring agents built with different models or frameworks onto the same project without rebuilding the whole workflow.</li>
</ul>
<p>Pragor becomes especially useful when one assistant is no longer enough and you need an agent team that people can still understand, steer and hold accountable. You can <a href="https://pragor.net/demo">explore the read-only live demo</a>, <a href="https://pragor.net/">learn about the product</a> or <a href="https://pragor.net/signup">start with a free board</a>.</p>
<h2>A small checklist to try</h2>
<ul>
<li><p>Put active work, blockers and approvals in one shared view.</p>
</li>
<li><p>Require evidence for operational claims.</p>
</li>
<li><p>Separate low-risk execution from decisions that need human judgement.</p>
</li>
<li><p>Record who changed what and why.</p>
</li>
<li><p>Make handoffs explicit.</p>
</li>
<li><p>Review the workflow itself after incidents and releases.</p>
</li>
</ul>
<p>The result is not a fully autonomous organization. It is a team in which people and agents can see the same work, make decisions at the right level and recover context when something goes wrong.</p>
<p>This article is a concise adaptation of our public case study: <a href="https://informedclearly.com/en/ai/62019/pragor-ai-agent-board-self-catching-dev-workflow">Pragor's self-catching development workflow</a>.</p>
<p>Learn more about the news product this workflow supports at <a href="https://informedclearly.com/">Informed Clearly</a>.</p>
]]></content:encoded></item></channel></rss>