Real-time Cryptocurrency Sentiment Analysis Platform - A comprehensive solution that analyzes cryptocurrency news sentiment using dual AI models (VADER & FinBERT) across mobile and web platforms.
CryptoSentiment-Core is a sophisticated platform that provides real-time sentiment analysis for cryptocurrency news using two cutting-edge AI models. The system aggregates news from multiple sources, processes content through VADER (rule-based) and FinBERT (transformer-based) models, and delivers actionable insights through both mobile and web interfaces.
- Dual AI Model Approach: Leverage both speed and accuracy with VADER's fast processing and FinBERT's financial domain expertise
- Cross-Platform Accessibility: Access insights via mobile app (iOS/Android) or web dashboard
- Real-time Analysis: Live news monitoring with immediate sentiment processing
- Multi-source Integration: Aggregate data from leading cryptocurrency news sources
- Professional Design: Modern dark-themed interface with responsive design
The intuitive mobile interface showing real-time market sentiment
- Native Cross-Platform Experience: Seamless iOS and Android support
- Real-time Sentiment Feed: Live news pulse with color-coded sentiment indicators
- Offline Capability: Core functionality available without constant internet connectivity
- Intuitive Navigation: Bottom navigation bar for quick access to different sections
- Performance Optimized: Efficient data handling and smooth user experience
Comprehensive dashboard with market overview and sentiment analysis
- Sentiment Visualization: Interactive pie charts comparing positive, negative, and neutral sentiments
- Real-time News Feed: Curated cryptocurrency news with sentiment indicators
- Multi-coin Support: Analyze sentiment for Bitcoin, Ethereum, Ripple, and other major cryptocurrencies
- Advanced Filtering: Sort news by date, coin, sentiment, and source
- Performance Metrics: Historical sentiment trends and comparison analysis
Detailed sentiment analysis for various cryptocurrencies
- Per-coin Analysis: Individual sentiment statistics for popular cryptocurrencies
- Sentiment Comparison: VADER vs FinBERT results for validation
- Interactive Grid View: Cards for each coin with clear visual indicators
- Market Health Score: Aggregate market sentiment across all cryptocurrencies
Real-time live market monitoring system
- Live News Feed: Stream updates from major cryptocurrency sources
- Live Processing: Instant sentiment analysis using dual AI models
- Model Comparison: View how both VADER and FinBERT assess each piece of news
- Sources Diversity: Integrate feed from multiple platforms (Coindesk, CoinTelegraph, etc.)
Interactive AI model testing environment
- Model Comparison: Test both VADER and FinBERT on custom text
- Real-time Results: Instant sentiment analysis with confidence scores
- Sample Scenarios: Pre-loaded examples for quick testing
- Educational Tool: Understand how different models interpret sentiment
- Type: Rule-based sentiment analyzer
- Speed: Fast processing (~2ms per article)
- Strengths: Excellent for real-time processing, handles social media text well
- Use Case: Primary model for live news monitoring
- Implementation: NLTK-based with cryptocurrency-specific lexicon adjustments
- Type: Transformer-based deep learning model
- Accuracy: High precision for financial domain text
- Strengths: Contextual understanding, handles complex financial terminology
- Use Case: Validation and detailed analysis of important news
- Implementation: Pre-trained ProsusAI/finbert model fine-tuned for financial sentiment
- Speed vs Accuracy: VADER for quick processing, FinBERT for validation
- Cross-verification: Compare results for higher confidence
- Redundancy: System remains functional even if one model fails
- Performance Optimization: Use appropriate model for different use cases
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Mobile App │ │ Web Dashboard │ │ Data Sources │
│ (Flutter) │ │ (Next.js) │ │ (RSS/API feeds) │
└─────────┬───────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │
└──────────────────────┼──────────────────────┘
│
┌─────────────────────┐
│ Backend API │
│ (FastAPI/Python) │
└─────────────────────┘
│
┌─────────────────────┐
│ Database Layer │
│ (SQLite) │
└─────────────────────┘
- Framework: FastAPI with Uvicorn ASGI server
- Database: SQLite with SQLAlchemy ORM
- AI Libraries:
nltkfor VADER sentiment analysistransformersfor FinBERT modeltorchfor PyTorch deep learning
- Data Sources:
- CryptoCompare API
- NewsAPI.org
- RSS feeds (CoinDesk, CoinTelegraph, CryptoNews, etc.)
- Processing: Concurrent news fetching and sentiment analysis
- Framework: Next.js 16 with App Router
- Language: TypeScript
- Styling: Tailwind CSS with custom dark theme
- Data Visualization: Recharts for interactive charts
- State Management: React Context API
- HTTP Client: Axios for API communication
- Framework: Flutter 3.8+
- Language: Dart
- State Management: GetX pattern
- UI Components:
fl_chartfor data visualizationhttpfor API callsurl_launcherfor external links
- Design: Material Design with custom dark theme
- News Aggregation: Multiple RSS feeds and APIs
- Content Processing: Text cleaning and preparation
- Dual Analysis: Simultaneous VADER and FinBERT processing
- Result Storage: Database with both model results
- API Distribution: RESTful endpoints for client consumption
- Client Display: Mobile and web interfaces
- News Table: Historical news articles with sentiment data
- Live News Table: Real-time news with dual model results
- Sentiment Fields: Separate columns for VADER and FinBERT results
- Metadata: Source, timestamp, URL, and processing information
- Python: 3.8 or higher
- Node.js: 18 or higher
- Flutter: 3.8 or higher
- Android Studio: For mobile development (optional)
- Git: For version control
# Python packages (automatically installed via requirements.txt)
fastapi
uvicorn
pandas
nltk
sqlalchemy
transformers
torch>=2.6
scipy
requests
feedparser
beautifulsoup4
lxml# Navigate to backend directory
cd backend
# Install Python dependencies
pip install -r requirements.txt
# Start the FastAPI server
uvicorn main:app --reload
# Server will be available at http://127.0.0.1:8000# Navigate to web dashboard directory
cd web_dashboard/crypto-dashboard
# Install Node.js dependencies
npm install
# Start development server
npm run dev
# Dashboard will be available at http://localhost:3000# Navigate to mobile app directory
cd mobile_app/crypto_sentiment_app
# Install Flutter dependencies
flutter pub get
# Run on connected device or emulator
flutter run
# For web version (alternative)
flutter run -d chromeCreate a .env file in the backend directory:
# News API Configuration
NEWS_API_KEY=your_newsapi_key_here
# Database Configuration
DATABASE_URL=sqlite:///./crypto.db
# Server Configuration
HOST=127.0.0.1
PORT=8000- NewsAPI: Get free API key from newsapi.org
- CryptoCompare: No API key required for basic usage
- RSS Feeds: No configuration needed (public feeds)
- Development: Use
--reloadflag for auto-restart - Production: Use process managers like
gunicornorpm2 - Database: SQLite for development, PostgreSQL for production
- Access: Visit
http://localhost:3000 - Features:
- Overall market sentiment visualization
- Latest news feed with sentiment indicators
- Coin-specific analysis (search by name)
- Real-time data updates
- Navigation: Click "Market" in sidebar
- Features:
- Per-coin sentiment cards
- Comparison between cryptocurrencies
- Detailed statistics view
- Quick navigation to detailed analysis
- Navigation: Click "Live Monitor" in sidebar
- Features:
- Real-time news feed
- Live sentiment processing
- Model comparison view
- Manual sync capability
- Adjustable news count
- Navigation: Click "AI Playground" in sidebar
- Features:
- Text input for custom analysis
- Model selection (VADER/FinBERT)
- Real-time results with confidence scores
- Sample scenarios for testing
- Educational comparison tool
- Overview: Market sentiment summary
- Quick Stats: Positive/Negative/Neutral counts
- Recent News: Latest articles with sentiment
- Navigation: Bottom tab bar for sections
- Real-time Feed: Streaming news updates
- Sentiment Indicators: Color-coded sentiment badges
- Source Information: News source attribution
- External Links: Tap to read full articles
- Theme Toggle: Dark/Light mode switch
- AI Model Selection: Choose default processing model
- About Information: Version and project details
# Get news articles
GET /api/news?skip=0&limit=50&q=Bitcoin
# Get sentiment statistics
GET /api/stats?q=Bitcoin
# Get live news
GET /api/live_news?limit=20
# Analyze text with specific model
POST /api/analyze_text
{
"text": "Bitcoin price surges after positive regulatory news",
"model": "vader"
}
# Re-analyze database with specific model
POST /api/reanalyze_db
{
"model": "finbert",
"limit": 100
}# VADER statistics
GET /api/vader_stats?q=Bitcoin
# FinBERT statistics
GET /api/finbert_stats?q=Bitcoin
# Live VADER stats
GET /api/live_vader_stats
# Live FinBERT stats
GET /api/live_finbert_stats- Backend: Follow PEP 8 Python standards
- Frontend: Use TypeScript with strict typing
- Mobile: Follow Flutter/Dart best practices
- Documentation: Keep README and code comments up to date
- main: Production-ready code
- develop: Active development branch
- feature/branch-name: New features
- hotfix/branch-name: Critical bug fixes
- Fork the repository
- Create feature branch from
develop - Implement changes with proper testing
- Update documentation if needed
- Submit pull request to
developbranch
- Backend: Unit tests for API endpoints and AI models
- Frontend: Component tests and integration tests
- Mobile: Widget tests and integration tests
- End-to-End: Cross-platform functionality testing
- Use GitHub Issues for bug reports
- Include detailed reproduction steps
- Specify platform (mobile/web/backend)
- Add relevant screenshots or logs
This project is licensed under the MIT License - see the LICENSE file for details.
- Free for personal and commercial use
- Attribution required in distributions
- No warranty provided
- FastAPI: High-performance Python web framework
- Next.js: React framework for production
- Flutter: Google's UI toolkit for mobile
- NLTK: Natural Language Toolkit for VADER
- Hugging Face Transformers: For FinBERT implementation
- CryptoCompare: Cryptocurrency news API
- NewsAPI: General news aggregation
- RSS Feeds: Various cryptocurrency news sources
- Coindesk, CoinTelegraph: Industry-leading publications
- ProsusAI: FinBERT model development
- NLTK Community: VADER sentiment analysis tools
- Open Source Community: Various libraries and tools
- GitHub Discussions: Project discussions and Q&A
- Issues Tracker: Bug reports and feature requests
- Documentation: Comprehensive guides and API references
- Enterprise Licensing: Contact for commercial support
- Custom Development: Integration and customization services
- Training: Team onboarding and best practices
Built with ❤️ for the cryptocurrency community

