Skip to content

An intelligent learning platform that transforms YouTube videos into interactive learning experiences using AI. Built with FastAPI, Next.js and powered by Google's Gemini AI.

License

Notifications You must be signed in to change notification settings

mrnithesh/Mercurious.ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

80 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 Mercurious.ai - AI-Powered Video Learning Assistant

Mercurious AI Logo

Transform YouTube videos into interactive learning experiences using cutting-edge AI technology

FastAPI Next.js TypeScript Firebase Google AI

🌟 Overview

Mercurious.ai is a revolutionary AI-powered learning platform that transforms any YouTube video into a comprehensive learning experience. Using advanced AI technology including Google's Gemini AI, the platform automatically generates summaries, study guides, interactive chat assistance, and personalized learning content.

✨ Features

πŸŽ₯ Video Processing & Analysis

  • YouTube Integration: Process any YouTube video by simply pasting the URL
  • AI-Powered Transcription: Automatic transcript extraction and processing
  • Content Analysis: Deep AI analysis of video content using Google Gemini
  • Smart Summarization: Generate concise, structured summaries
  • Key Concepts Extraction: Identify and highlight important concepts and terms

πŸ€– AI Learning Assistant

  • Interactive Chat: Ask questions about video content and get intelligent responses
  • Contextual Understanding: AI maintains context of the video content during conversations
  • Study Guide Generation: Automatically create comprehensive study guides
  • Vocabulary Extraction: Identify and define important terms
  • Learning Analytics: Track learning progress and comprehension

🎯 AI-Powered Quiz System

  • Intelligent Quiz Generation: AI-generated quizzes tailored to video content using Google Gemini
  • Customizable Quiz Settings: Configure number of questions (3-15) based on your learning needs
  • Multiple Question Types: Factual recall, conceptual understanding, and application-based questions
  • Interactive Quiz Interface: Clean, user-friendly interface with keyboard navigation support
  • Real-time Progress Tracking: Visual progress bar showing completion status
  • Detailed Results & Analytics: Comprehensive score breakdown with performance insights
  • Quiz History: Track all quiz attempts with trend analysis and performance metrics
  • Statistics Dashboard: View overall performance, best scores, averages, and learning insights
  • Smart Recommendations: AI-powered suggestions for improvement based on performance

πŸ“š Personal Learning Library

  • Video Library Management: Organize and manage your processed videos
  • Progress Tracking: Monitor your learning progress across all videos
  • Favorites System: Mark and organize your favorite learning content
  • Search & Filter: Quickly find videos by title, content, or progress status
  • Notes Management: Take and save personal notes for each video

πŸ” Authentication & Security

  • Firebase Authentication: Secure user authentication and authorization
  • Protected Routes: Secure access to personal learning content
  • User Profiles: Personalized user accounts and settings
  • Data Privacy: Secure storage of user data and learning progress

🎨 Modern User Interface

  • Responsive Design: Seamless experience across desktop and mobile devices
  • Dark/Light Mode: Customizable theme preferences
  • Professional UI: Modern, intuitive interface built with Tailwind CSS
  • Performance Optimized: Virtual scrolling and optimized rendering
  • Real-time Updates: Live updates and notifications

🚧 Upcoming Features

We are actively working to make Mercurious.ai even better! Here are some features planned for future releases:

  • βš™οΈ User Settings: Personalize your experience with theme, notification, and privacy preferences
  • πŸ‘€ Profile Management: Edit your profile, view learning stats, and manage your account
  • πŸ“’ Notes Editor: Rich text note-taking and annotation tools for each video
  • πŸ“Š Analytics & Insights: Visualize your learning progress and achievements
  • πŸ”” Notifications: Stay updated with reminders and learning milestones
  • πŸ›‘οΈ Admin Panel: Manage users, content, and platform analytics
  • 🌐 Multi-language Support: Learn in your preferred language
  • πŸ“± Mobile App: Native mobile experience for iOS and Android
  • πŸ”— Social Sharing: Share your learning progress and favorite videos
  • πŸ§‘β€πŸ€β€πŸ§‘ Community Features: Discussion forums, study groups, and peer support

πŸ—οΈ Architecture

Backend (FastAPI)

backend/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ main.py                 # FastAPI application entry point
β”‚   β”œβ”€β”€ dependencies.py         # Authentication & database dependencies
β”‚   β”œβ”€β”€ models/                 # Pydantic data models
β”‚   β”‚   β”œβ”€β”€ user.py            # User authentication models
β”‚   β”‚   β”œβ”€β”€ video.py           # Video processing models
β”‚   β”‚   β”œβ”€β”€ chat.py            # Chat interaction models
β”‚   β”‚   └── quiz.py            # Quiz generation models
β”‚   β”œβ”€β”€ routers/               # API route handlers
β”‚   β”‚   β”œβ”€β”€ auth.py            # Authentication endpoints
β”‚   β”‚   β”œβ”€β”€ videos.py          # Video processing endpoints
β”‚   β”‚   β”œβ”€β”€ chat.py            # Chat interaction endpoints
β”‚   β”‚   └── quiz.py            # Quiz generation and submission endpoints
β”‚   β”œβ”€β”€ services/              # Business logic services
β”‚   β”‚   β”œβ”€β”€ auth_service.py    # User authentication service
β”‚   β”‚   β”œβ”€β”€ video_services.py  # Video processing service
β”‚   β”‚   β”œβ”€β”€ transcript_services.py # AI transcript processing
β”‚   β”‚   β”œβ”€β”€ chat_service.py    # Chat interaction service
β”‚   β”‚   β”œβ”€β”€ quiz_service.py     # Quiz generation and evaluation service
β”‚   β”‚   └── video_database_service.py # Database operations
β”‚   β”œβ”€β”€ config/                # Configuration files
β”‚   β”‚   └── firebase_config.py # Firebase configuration
β”‚   └── utils/                 # Utility functions
└── requirements.txt           # Python dependencies

Frontend (Next.js + TypeScript)

frontend/mercurious/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                   # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ page.tsx          # Landing page
β”‚   β”‚   β”œβ”€β”€ dashboard/        # User dashboard
β”‚   β”‚   β”œβ”€β”€ process/          # Video processing interface
β”‚   β”‚   β”œβ”€β”€ video/[id]/       # Video viewer and chat
β”‚   β”‚   └── layout.tsx        # Root layout
β”‚   β”œβ”€β”€ components/           # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Auth/             # Authentication components
β”‚   β”‚   β”œβ”€β”€ Quiz/             # Quiz components
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizGenerator.tsx    # Quiz generation interface
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizInterface.tsx    # Interactive quiz taking interface
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizResults.tsx      # Quiz results and analytics
β”‚   β”‚   β”‚   β”œβ”€β”€ QuizHistory.tsx      # Quiz attempt history
β”‚   β”‚   β”‚   └── QuizStatistics.tsx   # Performance statistics
β”‚   β”‚   β”œβ”€β”€ ChatAssistant.tsx # AI chat interface
β”‚   β”‚   └── ProtectedRoute.tsx # Route protection
β”‚   β”œβ”€β”€ contexts/             # React contexts
β”‚   β”‚   └── AuthContext.tsx   # Authentication context
β”‚   β”œβ”€β”€ lib/                  # Utilities and configurations
β”‚   β”‚   β”œβ”€β”€ api/              # API client and services
β”‚   β”‚   └── firebase/         # Firebase configuration
β”‚   └── styles/               # Global styles
β”œβ”€β”€ package.json              # Node.js dependencies
└── tsconfig.json            # TypeScript configuration

πŸ› οΈ Technology Stack

Backend Technologies

  • FastAPI: High-performance Python web framework
  • Python 3.9+: Modern Python with async/await support
  • Firebase Admin SDK: Server-side Firebase integration
  • Google Generative AI: Gemini AI for content processing
  • YouTube Transcript API: Video transcript extraction
  • Pydantic: Data validation and serialization
  • Uvicorn: High-performance ASGI server

Frontend Technologies

  • Next.js 15: Latest React framework with App Router
  • TypeScript: Type-safe JavaScript development
  • React 19: Latest React with modern features
  • Tailwind CSS: Utility-first CSS framework
  • Firebase SDK: Client-side Firebase integration
  • React Icons: Comprehensive icon library (Font Awesome, Material Design)
  • React Window: Virtual scrolling for performance

Infrastructure & Services

  • Firebase Auth: User authentication and authorization
  • Firebase Firestore: NoSQL document database
  • Google Cloud: AI and infrastructure services
  • YouTube Data API: Video metadata and information

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • Python 3.9+ and pip
  • Firebase Project with Auth and Firestore enabled
  • Google AI API Key (Gemini)
  • YouTube Data API Key

Environment Setup

  1. Clone the repository
git clone https://github.com/mrnithesh/Mercurious-ai.git
cd Mercurious-ai
  1. Backend Setup
cd backend

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file
cp .env.example .env
  1. Configure Environment Variables
# Backend .env
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-2.5-flash
YOUTUBE_DATA_API=your_youtube_api_key
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_SERVICE_ACCOUNT_PATH=path_to_firebase_service_account_json
JWT_SECRET_KEY=your_secret_key
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=3600
  1. Frontend Setup
cd frontend/mercurious

# Install dependencies
npm install

# Create environment file
cp .env.local.example .env.local
  1. Configure Frontend Environment
# Frontend .env.local
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id

Running the Application

  1. Start the Backend
cd backend
uvicorn app.main:app --reload

Backend will be available at http://localhost:8000

  1. Start the Frontend
cd frontend/mercurious
npm run dev

Frontend will be available at http://localhost:3000

  1. Access the Application
  • Open http://localhost:3000 in your browser
  • Create an account or sign in
  • Start processing YouTube videos!

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Have a feature request? Open an issue or contact us on LinkedIn!

πŸ“„ License

This project is licensed under the GNU General Public License v3.0 (GPLv3) - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google AI for Gemini AI technology
  • Firebase for authentication and database services
  • YouTube for video platform and API access
  • FastAPI and Next.js communities for excellent frameworks
  • Open Source Community for various libraries and tools

πŸ“ž Support

For support, contact on linkedin Nithesh K!


Built with ❀️ by Nithesh K

Making learning more accessible and engaging through AI

About

An intelligent learning platform that transforms YouTube videos into interactive learning experiences using AI. Built with FastAPI, Next.js and powered by Google's Gemini AI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •