Skip to content

Tilakkale/WikiPulse-Analytics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WikiPulse 🌐📈: Catching Viral Moments as They Happen

Dashboard Screenshot

🎥 Video Demo

WikiPulse Demo

👋 The "Spark" (Why I Built This)

I've always wondered how big events—like a new Marvel trailer, a Bitcoin surge, or a random internet meme—instantly change what the world is reading about on Wikipedia. I built WikiPulse because I wanted to see if I could use math to "catch" those viral spikes as they happen.

As a student, this was my first time combining Machine Learning with a React dashboard, and it was a massive learning curve!

🚀 The Business Problem

How do we separate "normal" daily interest from a true Viral Spike? Static traffic analysis often misses the "why" behind the numbers. For researchers and companies, spotting a surge in real-time is the key to identifying emerging trends before they peak.

🛠️ The Tech Stack

  • Data Science: Meta's Prophet (Time-Series Forecasting), Pandas, NumPy
  • Backend API: FastAPI (Python 3.11)
  • Frontend: React, Recharts (SVG visualization), Lucide-React
  • Environment: Docker (Ubuntu-based build)

🚀 What It Actually Does

  • Dynamic Article Search: Type in literally any Wikipedia topic and instantly get a complete 2-year traffic analysis.
  • Anomaly Engine: Uses Meta's Prophet model to figure out if today's traffic spike is a true viral moment or just normal weekend behavior.
  • The "Why" Context: Automatically fetches Wikipedia revision history for the exact dates of the spike to figure out why it happened (e.g., "Heavy editing focused on Nvidia Blackwell GPU launch").

🧠 The Data Science Approach

I didn't just look for high numbers. I built a model that actually understands context:

  1. Dealing with Seasonality: Tech topics often drop on weekends. My model accounts for this so it doesn't accidentally flag a normal Monday recovery as a "spike".
  2. The 3σ Rule: Any day where traffic exceeded three standard deviations mathematically from the forecasted baseline was officially flagged as a "Viral Moment."

⚠️ The Struggles (Things I Learned the Hard Way)

  • Deployment & CORS Nightmares: Getting the React frontend on Vercel to perfectly talk to the FastAPI backend on Railway taught me everything I never wanted to know about CORS securely. I eventually wrote custom middleware to allow secure wildcard fetching.
  • Package Hassles: Installing Meta's Prophet on a lean Linux server was brutally hard because it requires very specific C++ build tools. I spent hours writing a custom Dockerfile to build it completely from scratch without crashing.
  • Responsive Layouts: Getting the Recharts dashboard to smoothly shrink on mobile without flickering took a deep dive into CSS min-height rules!

📦 How to Run It Locally

1. Start the Backend API (Terminal 1)

pip install -r requirements.txt
python main.py

2. Start the React Website (Terminal 2)

cd frontend
npm install
npm run dev

About

"A real-time dashboard I built to track viral Wikipedia spikes! It uses Meta's Prophet model to separate everyday trends from true 'Viral Moments. Built while learning the ropes of Data Science and Full-Stack development."

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors