Skip to content

ruslannnn2/noogie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

noogie - News through a different lens

Best Design at PennApps XXVI🏆

"preview" Python React Flask JavaScript HTML5 CSS3 Git OpenAPI Emacs Supabase ETL TypeScript

A project built to collect, duplicate, cluster, and summarize breaking news stories from across the web to mitigate biases that different news sources give.

Overview

DEMO - https://www.youtube.com/watch?v=rZpY3STlQxs

noogie automatically fetches articles from major outlets, groups similar stories, and generates concise AI-powered headlines. It helps users see the big picture of what’s happening, filtering the opinions of different news sources. "preview"

Features

  • Multi-Source Collection – Pulls stories via RSS and scraping from a variety of news sources
  • Clean Parsing – Uses newspaper4k to extract titles and content, filtering out empty or paywalled pages.
  • Smart Deduplication – Computes sentence embeddings (sentence-transformers) and stores them in a FAISS vector index
  • Clustering & Summarization – Groups similar articles and calls OpenAI/Gemini to generate short, human-readable cluster headlines
  • Scalable Design – Supports multithreading (planned) so multiple feeds can be fetched concurrently. "preview"

Tech Stack

  • TypeScript + React with d3.js for node visualization
  • Python newspaper4k to extract news sources & flask for the servers
  • OpenAI's GPT 4o-mini for summaries
  • Supabase for storage

Usage

cd front-end
npm install
npm run dev
cd server
python -m venv
pip install -r requirements.txt
python server.py
python main.py

API Endpoints

  • GET api/clusters
  • GET api/articles
  • GET api/clusters/:clusters_id/articles
  • GET api/clusters/:cluster_id
  • GET api/articles/:article_id
  • POST api/clusters/batch
  • POST api/data/bulk
  • POST api/clusters/:cluster_id/articles/batch

Acknowledgements

A special thanks to PennApps 2025.

License

Copyright (c) 2025 Jatin Punjabi, Andres Lopez, Ruslan Akmyradov

About

Node-cluster visualization platform for world news

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors