A comprehensive AI-powered market analysis system that automatically collects, processes, and analyzes technology and market trends from RSS feeds. The system uses advanced clustering algorithms and OpenAI's API to generate professional market insights with a modern web interface.
- Automated Data Collection: RSS feed ingestion from major tech news sources
- AI-Powered Analysis: OpenAI GPT integration for generating market insights
- Advanced Clustering: FAISS vector similarity search with K-means clustering
- Real-time Dashboard: Modern web interface with live data updates
- RESTful API: Complete FastAPI backend with comprehensive endpoints
- Data Persistence: SQLite database with duplicate prevention
- Scheduled Updates: Automated 24-hour data refresh cycles
- Professional UI: Clean, responsive design with progress tracking
- Python 3.10+: Core application language
- FastAPI: Modern web framework for API development
- SQLite: Lightweight database for article storage
- FAISS: Facebook AI Similarity Search for vector operations
- OpenAI API: Large language model integration
- scikit-learn: Machine learning algorithms for clustering
- pandas: Data manipulation and analysis
- BeautifulSoup: HTML parsing for content extraction
- feedparser: RSS feed processing
- HTML5/CSS3: Modern web standards
- JavaScript (ES6+): Interactive functionality
- Responsive Design: Mobile-first approach
- CSS Grid/Flexbox: Advanced layout systems
- TechCrunch RSS feeds
- The Decoder technology news
- VentureBeat market coverage
- Python 3.10 or higher
- OpenAI API key
- Internet connection for RSS feeds
-
Clone the repository
git clone <repository-url> cd tech_market_trend_analyzer
-
Create and activate virtual environment
python -m venv market_env # Windows market_env\Scripts\activate # macOS/Linux source market_env/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Environment Configuration
cp .env.template .env
Edit
.envfile and add your OpenAI API key:OPENAI_API_KEY=your_openai_api_key_here -
Initialize the system
python app.py
GET /- HomepageGET /dashboard- Analysis dashboardGET /api/system/info- System status
GET /api/pipeline/status- Pipeline statusPOST /api/pipeline/run- Start data collection
GET /api/analysis- Complete market analysisPOST /api/analysis/refresh- Force refresh analysisGET /api/clusters- Raw cluster dataGET /api/clusters/{id}- Specific cluster details
- Collection: RSS feeds are automatically parsed and stored
- Processing: Articles are cleaned and deduplicated
- Embedding: OpenAI creates vector embeddings for content
- Storage: FAISS indexes embeddings for similarity search
- Clustering: K-means groups similar articles together
- Analysis: AI generates insights for each cluster
- Presentation: Web dashboard displays formatted results
OPENAI_API_KEY: Required for AI analysisRSS_UPDATE_INTERVAL: Hours between updates (default: 24)CLUSTER_COUNT: Number of article clusters (default: 5)
- RSS Sources: Modify
data/rss_ingest.pyto add feeds - Analysis Prompts: Edit
agent/build_prompt.pyfor custom insights - UI Styling: Update
frontend/css/for visual changes - Clustering Parameters: Adjust in
agent/clusters.py