A premium, production-ready Streamlit mobile web app for Instagram analytics and tracking, built with a focus on minimalistic design and AI-powered insights. Built based on the functionality from the demo notebooks.
- User signup and login system
- Secure session management
- Account deletion capability
- Own Profile Tracking: Track your own Instagram profiles
- Competitor Analysis: Track unlimited competitor profiles
- Automatic Scraping: Scheduled scraping with configurable intervals
- Manual Scraping: Force immediate data collection
- Performance Metrics: Likes, comments, views analysis
- Sentiment Analysis: AI-powered comment sentiment analysis
- Project Creation: Create multiple projects for different campaigns
- AI Chat Integration: Interactive AI chat for each project
- Reel Tracking: Track specific Instagram reels within projects
- Performance Charts: Interactive charts for likes, comments, views
- Sentiment Distribution: Pie charts for sentiment analysis
- Data Tables: Detailed post and comment data
- Real-time Updates: Live data refresh capabilities
- Sign Up/Login: Users create an account or log in
- Dashboard: Manage Instagram profile tracking tasks
- Create tracking tasks for own profiles (limited to one)
- Create unlimited competitor tracking tasks
- View all tracked profiles with status and last scrape info
- Profile Details: Click on any profile to see detailed analytics
- View scraped data and performance metrics
- Force manual scraping
- Configure automatic scraping intervals
- View sentiment analysis results
- Projects: Navigate to project management
- Create new projects
- Access project-specific features
- Project Features:
- Explorer Page: Interactive AI chat for project-specific assistance
- Tracker Page: Track specific Instagram reels within the project
- Python 3.8 or higher
- pip package manager
-
Clone or navigate to the web_app directory
cd web_app
-
Install dependencies
pip install -r requirements.txt
-
Run the application
streamlit run main.py
-
Access the app
- Open your browser and go to
http://localhost:8501
- The app will automatically open in your default browser
- Open your browser and go to
The app is configured to use the development backend by default:
- Base URL:
https://codvid-ai-backend-development.up.railway.app
To change the environment, modify the APIClient
initialization in main.py
:
api_client = APIClient("https://codvid-ai-backend-production.up.railway.app") # Production
# or
api_client = APIClient("http://localhost:8080") # Local
- Create Account: Sign up with your email and password
- Login: Access your dashboard
- Add Instagram Profiles: Create tracking tasks for profiles you want to monitor
- View Analytics: Click on any profile to see detailed analytics
- Create Projects: Organize your work into projects
- Use AI Chat: Get AI assistance for your projects
- Track Reels: Add specific reels to track within projects
- Own Profile: Track your own Instagram profile (limited to one)
- Competitors: Track unlimited competitor profiles
- Automatic Updates: Set scraping intervals (0.5 to 30 days)
- Manual Updates: Force immediate scraping when needed
- Performance Metrics: Total likes, comments, views
- Post Analysis: Recent posts with engagement data
- Sentiment Analysis: AI-powered comment sentiment analysis
- Visual Charts: Interactive charts for data visualization
- Multiple Projects: Create and manage multiple projects
- AI Integration: Chat with AI for project-specific assistance
- Reel Tracking: Track specific Instagram reels within projects
- Streamlit: Modern web framework for data apps
- Mobile-Responsive: Optimized for mobile devices
- Interactive UI: Real-time updates and user interactions
- RESTful API: Integration with the backend services
- Authentication: JWT token-based authentication
- Real-time Data: Live data fetching and updates
- Plotly: Interactive charts and graphs
- Pandas: Data manipulation and analysis
- Real-time Updates: Live data refresh capabilities
web_app/
βββ main.py # Main application entry point
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ pages/ # Page modules
βββ __init__.py # Package initialization
βββ login.py # Authentication page
βββ dashboard.py # Main dashboard
βββ profile_details.py # Profile analytics
βββ projects.py # Project management
βββ project_chat.py # AI chat interface
βββ project_tracker.py # Reel tracking interface
The app is optimized for mobile devices with:
- Responsive Design: Adapts to different screen sizes
- Touch-Friendly: Large buttons and touch targets
- Mobile Navigation: Simplified navigation for mobile
- Fast Loading: Optimized for mobile network speeds
- Connection Errors: Check if the backend server is running
- Authentication Issues: Ensure correct email/password
- Data Not Loading: Try refreshing the page or force scraping
- Mobile Display Issues: Use landscape mode for better viewing
For technical support or feature requests, please refer to the original demo notebooks for implementation details.
- Create new page module in
pages/
directory - Update main.py to include the new page routing
- Test thoroughly with different data scenarios
- Update documentation as needed
- Follow PEP 8 Python style guidelines
- Use descriptive variable and function names
- Add comments for complex logic
- Maintain consistent formatting
This project is based on the demo notebooks and follows the same licensing terms.