Bias Lens
Media Literacy Platform
A news aggregation experience that reviews framing, identifies loaded language, and helps readers examine media more consciously without telling them what to think.
Proof boundary: This record documents the product scope and implementation approach. Accuracy, source-volume, delivery-time, and adoption claims have not been independently audited.
The Challenge
Non-Judgmental
Help users understand bias without telling them what to think. Present facts, not opinions about their media choices.
Source Breadth
Bring configured sources into one article-level comparison workflow, supported by progressive loading and local caching.
Actionable Insights
Go beyond a single label to show which phrases may be loaded and why, with educational context.
Illustrative Source Comparison
The interface can compare how Source A, Source B, and Source C frame one topic. The sample records below are illustrative and unvalidated. They do not rate any real outlet.
Illustrative score: -1
Classification: unvalidated
Illustrative score: 0
Classification: unvalidated
Illustrative score: +1
Classification: unvalidated
Methodology and proof boundary
A defensible version must define the article-level rubric, preserve the text behind each observation, and compare results against a reviewed evaluation set. No validated benchmark, annotated evaluation set, outlet-rating methodology, or accuracy study is attached to this public record. Every score and classification shown here is illustrative and unvalidated.
Key Features
Smart Feed
Hero articles, For You section, time-based grouping
Framing Comparison
Article-level review with visible validation status
Phrase Review
Surfaces language candidates with explanations for review
Balance Chart
Visual breakdown of your reading habits
Explore Modes
Topics, trending, sources, clusters
Learn Tab
Media literacy education and quizzes
Bookmarks
Save articles with unread badges
Offline Mode
Cached articles work without internet
Analysis Pipeline
1. Article Scoring
When a reader taps "Analyze Article," the workflow retrieves the available article text and runs a structured language-analysis prompt. The interface contract can return a provisional article score, validation status, and plain-language rationale. The values below are illustrative and unvalidated, not evidence of accuracy.
{ source: "Source A", illustrativeScore: -1, classificationStatus: "unvalidated", explanation: "Example rationale for reviewer inspection." }2. Loaded Phrase Review
The language-analysis step can surface phrases that may carry emotional framing or misleading characterization, then returns an explanation for the reader to assess. Every sample classification remains illustrative and unvalidated until a reviewer applies an agreed rubric.
phraseCandidates: [{ phrase: "guaranteed disaster", classification: "illustrative and unvalidated", explanation: "Example rationale for review." }]3. Topic Clustering
Articles covering the same story from different sources are grouped together, allowing users to compare how the same event is framed without assigning an outlet-wide political label.
topicClusters: { "Topic Alpha": ["Source A article", "Source B article", "Source C article"] }Technical Architecture
- Swift 5.9
- SwiftUI
- @Observable
- SwiftData
- RSS Parsing
- FeedCache
- Disk Persistence
- NetworkMonitor
- Structured Prompts
- Schema Validation
- Archive Retrieval
- Language Analysis
- Progressive Loading
- Offline Support
- Haptic Feedback
- Pull-to-Refresh
Documented Product Facts
Structured Review
The interface contract returns an illustrative provisional score, unvalidated classification status, and readable rationale rather than an accuracy promise.
Framing Comparison
Configured articles can be grouped so readers can inspect how the same topic is framed. This record does not assign or validate outlet-wide political ratings.
Media Literacy Layer
Explanations, quizzes, and reading-history views turn article analysis into an ongoing learning workflow.
Need AI content analysis?
We build systems that analyze, categorize, and extract useful signals from news, documents, reviews, and other text.