See the full picture — not a ranked feed.
News Mosaic is an interactive news visualization tool designed to break information out of traditional echo chambers.
Instead of a ranked news feed, we show multiple perspectives at once using an interactive radial visualization.
When you search a topic, News Mosaic:
- Fetches news articles from multiple sources
- Clusters them into related story groups
- Classifies article tone (positive / neutral / critical)
- Displays everything in a radial mosaic view
This allows users to see the debate landscape, not just the loudest or most popular take.
News Mosaic was created to help people: See the whole conversation — not just the algorithm’s favorite slice.
(Search for any topic to begin exploring)
Each topic becomes a radial map of perspectives.
- Center: Your search topic
- Inner ring: Story clusters
- Outer ring: Individual articles
- Colors represent tone
🟢 Positive ⚪ Neutral 🔴 Critical
Different topics produce very different perspective balances.
We do not sort by popularity or time.
Instead, we display the full spread of perspectives around a topic.
Interactive radial chart for exploring clusters and articles visually.
Each article is labeled as:
- Positive – supportive framing
- Neutral – informational tone
- Critical – negative or risk-focused framing
Users can intentionally explore viewpoints they might not normally see.
- FastAPI
- News API fetching
- Article clustering logic
- LLM-powered classification and summarization
- React + Vite
- D3.js radial visualization
- Responsive UI design
- User enters a topic
- Backend fetches articles
- Articles are clustered by similarity
- LLM classifies article tone
- Frontend renders the radial mosaic
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000Create a .env file inside backend/:
NEWS_API_KEY=your_news_api_key
OPENAI_API_KEY=your_openai_api_keycd frontend
npm install
npm run devOpen your browser:
http://localhost:5173

