An advanced YouTube channel analytics dashboard providing deep insights, competitor comparison, and AI-driven recommendations using Gemini AI.
- ๐ Comprehensive Dashboard Analytics: Visualize channel performance, views, subscribers, and engagement metrics over time.
- ๐ค AI Insights: Leverage Google's Gemini AI to analyze your YouTube data and generate actionable recommendations for growth and content strategy.
- โ๏ธ Competitor Comparison: Compare key metrics between multiple YouTube channels side-by-side to identify industry trends and gaps.
- โก Real-time Data: Integrated directly with the YouTube Data API v3 for up-to-date and accurate statistics.
- ๐จ Modern UI/UX: A responsive, beautifully designed interface built with TailwindCSS, featuring smooth animations via Framer Motion and interactive charts with Chart.js.
(Placeholder: Add a screenshot of the general overview page here)
(Placeholder: Add a screenshot of the main dashboard here)
(Placeholder: Add a screenshot of the channel comparison feature here)
(Placeholder: Add a screenshot of the Gemini AI generated insights here)
| Frontend | Backend | APIs |
|---|---|---|
| React + Vite | Flask (Python) | YouTube Data API v3 |
| TailwindCSS | Google Gemini AI API | |
| Chart.js | ||
| Framer Motion |
The application follows a modern client-server architecture:
- Client (React + Vite): Handles the user interface, routing, state management, and data visualization. It makes RESTful API calls to the backend to fetch channel data and AI insights.
- Server (Flask): Acts as a secure middleman and processor. It securely communicates with the YouTube Data API to fetch channel statistics, processes the data, and passes relevant metrics to the Gemini AI API to generate intelligent insights. It then formats and serves this data to the frontend application.
YT-lytics/
โโโ backend/ # Flask backend application
โ โโโ app.py # Main entry point
โ โโโ requirements.txt # Python dependencies
โ โโโ ...
โโโ frontend/ # React + Vite frontend application
โ โโโ src/ # Source code
โ โ โโโ components/ # Reusable UI components
โ โ โโโ pages/ # Page layouts
โ โ โโโ App.jsx # Main React component
โ โ โโโ main.jsx # Entry point
โ โโโ package.json # Node dependencies
โ โโโ tailwind.config.js # Tailwind CSS configuration
โ โโโ ...
โโโ README.md # Project documentation
Follow these steps to get the project running locally on your machine.
- Node.js (v16 or higher)
- Python (3.8 or higher)
- A Google Cloud Console project with YouTube Data API v3 enabled.
- A Google AI Studio API Key for Gemini integration.
git clone https://github.com/YOUR_USERNAME/YT-lytics.git
cd YT-lyticsOpen a terminal and navigate to the backend directory:
cd backendCreate a virtual environment: Windows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activateInstall the required Python packages:
pip install -r requirements.txtOpen a new terminal window and navigate to the frontend directory:
cd frontendInstall the required Node packages:
npm installYou need to set up environment variables for the backend to communicate with the APIs.
Create a .env file in the backend/ directory and add your API keys:
# backend/.env
YOUTUBE_API_KEY=your_youtube_data_api_v3_key_here
GEMINI_API_KEY=your_google_gemini_api_key_hereIf your frontend needs specific environment variables (e.g., overriding the API base URL), create a .env file in the frontend/ directory:
# frontend/.env
VITE_API_BASE_URL=http://localhost:5000You will need two separate terminal windows running simultaneously to start both the frontend and backend servers.
Ensure your virtual environment is activated, then run:
# In the backend/ directory
flask run
# OR
python app.pyThe Flask server should now be running, typically on http://localhost:5000 or http://127.0.0.1:5000.
In your second terminal window, run:
# In the frontend/ directory
npm run devVite will start the development server, usually accessible at http://localhost:5173. Open this URL in your browser to view the application.
- Implement user authentication to save favorite channels and personal notes.
- Add export functionality (PDF/CSV) for dashboard reports.
- Integrate YouTube OAuth for users to view their own private channel analytics.
- Expand AI capabilities for video title and thumbnail generation.
- Implement caching (e.g., Redis) to reduce API calls and improve loading times.
This project is licensed under the MIT License.
Your Name
- GitHub: @YOUR_USERNAME
- LinkedIn: Your LinkedIn Profile
- Portfolio: Your Portfolio Website
If you find this project interesting or helpful, please consider leaving a โญ on the repository!









