About NewsLens

About This Project

NewsLens combines local sentiment-model evaluation with a public, read-only news analysis dashboard built around auditable backend-derived metrics.

Project Profile

Researcher and Product Context

James Vescovo

Computer Science Student at the University of Denver (Expected Graduation: May 2026)

Focused on machine learning, data science, and interfaces that make technical analysis easier to inspect. NewsLens combines local sentiment experiments with a read-only AI news workflow driven by an external RSS pipeline.

PythonMachine LearningRSS PipelinesData Visualization

Timeline

Project History

Phase 1 Initial Research and Model Development

Explored sentiment analysis approaches, comparing VADER with machine learning classifiers such as Naive Bayes and SVM. Built the first local models and established baseline metrics using labeled training data.

Phase 2 Model Evaluation and Comparison

Implemented evaluation workflows for accuracy, precision, recall, and F1 score so local models could be compared consistently across corpora.

Phase 3 Web Application Development

Built the Dash interface for model testing, evaluation views, and interactive visual summaries in one application.

Phase 4 News Feed Integration

Integrated an external RSS pipeline published through GitHub Actions, added OpenAI-powered rubric scoring, and built read-only digest, stats, source, tag, workflow, raw JSON, and snapshot views that refresh from upstream JSON without rebuilding the deployment image.

Phase 5 Comparative Analysis (Current)

Current direction is comparing traditional sentiment models against upstream rubric outputs so the app can show where local classifiers agree with or diverge from richer multi-lens news analysis.

Stack

Technical Stack

Backend and ML

  • Python
  • Scikit-Learn
  • NLTK and VADER
  • OpenAI API
  • Pandas and NumPy

Web Frameworks

  • Dash by Plotly (local reference surface)
  • FastAPI (analytics API)
  • Next.js (public dashboard)
  • Plotly.js charts

Deployment and Pipeline

  • DigitalOcean Droplet
  • GitHub Version Control
  • GitHub Actions RSS publishing
  • Systemd and Nginx runtime

Method

Project Method

1. CollectCollect and normalize records from curated RSS feeds.
2. EnrichAttach AI summaries, tags, and rubric scores from the upstream scoring pipeline.
3. DeriveDerive source, lens, topic, tag, drift, and event-controlled analytics in backend services.
4. SurfaceExpose model-evaluation and news-analysis views in one public-facing product.

Contact

Connect