Skip to content

samith2002/deeplearning-ext-main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DeepLearning.ai Study Buddy πŸŽ“

Study Buddy Logo

An AI-powered voice study companion for DeepLearning.ai courses

Features β€’ Demo β€’ Installation β€’ Usage β€’ Development β€’ Contributing


✨ Features

πŸŽ™οΈ Real-Time Voice Conversations

Talk to your AI study buddy using Google Gemini Live API. Ask questions about the course content, get explanations, and have natural conversations while watching video lessons.

πŸ“ Smart Transcript Integration

Automatically extracts and syncs with video transcripts. The AI has full context of what you're learning, so you can ask "What did they just say about transformers?" and get accurate answers.

🎯 Context-Aware Video Sync

The AI knows exactly where you are in the video. Pause at 5:15 to ask a question? Study Buddy understands the context up to that point and responds based on what you've just watched. Seek forward or backward? The AI instantly adapts and explains concepts from your new positionβ€”no need to explain what you're referring to!

πŸ“Š Visual Diagrams

Ask for visual explanations and get beautiful Mermaid diagrams rendered inline:

  • Flowcharts for processes
  • Sequence diagrams for interactions
  • State diagrams for ML pipelines
  • And more!

🧠 Interactive Quizzes

Generate quizzes based on the lesson content to test your understanding:

  • Multiple difficulty levels (Easy, Medium, Hard)
  • Instant feedback with explanations
  • Score tracking

πŸ“Œ Timestamped Notes

Take notes that are linked to specific moments in the video:

  • Click on any note to jump to that timestamp
  • Visual markers on the video timeline
  • Persistent storage across sessions

🎨 Beautiful Sidebar UI

A sleek, modern sidebar that integrates seamlessly with the DeepLearning.ai interface:

  • Collapsible and resizable
  • Personalized greetings
  • Real-time audio visualizer
  • Dark mode design

🎬 Demo

Welcome Screen

Study Buddy Welcome Screen

Visual Diagrams

AI-generated Mermaid Diagrams More AI Diagrams

Timestamped Notes

Notes with Timeline Markers

Notes Synced with Video

Notes synced with video playback


πŸ“¦ Installation

Prerequisites

  • Node.js (v18 or higher)
  • npm (comes with Node.js)
  • A Google Gemini API Key (Get one here)

Step 1: Clone the Repository

git clone https://github.com/yourusername/deeplearning-study-buddy.git
cd deeplearning-study-buddy

Step 2: Install Dependencies

npm install

Step 3: Build the Extension

npm run build

This creates a dist/ folder containing the built extension.

Step 4: Load in Chrome

  1. Open Chrome and navigate to chrome://extensions/
  2. Enable Developer mode (toggle in top-right corner)
  3. Click "Load unpacked"
  4. Select the dist/ folder from this project

Step 5: Configure API Key

  1. Go to any DeepLearning.ai course lesson
  2. The Study Buddy sidebar will appear on the right
  3. Find the API Key section in the sidebar on the top section
  4. Enter your Gemini API key and save

πŸš€ Usage

Starting a Session

  1. Navigate to any lesson on learn.deeplearning.ai
  2. The Study Buddy sidebar will appear on the right
  3. Click "Start Session" to connect
  4. Wait for the AI to analyze the transcript
  5. Start talking! 🎀

Voice Commands

Just speak naturally! Here are some things you can ask:

  • "Explain what the instructor just said"
  • "Can you draw a diagram of this architecture?"
  • "Give me a quiz on this topic"
  • "What's the difference between CNN and RNN?"
  • "Summarize this lesson"

Taking Notes

  1. Click the + Note button at any point in the video
  2. Type your note in the modal
  3. Notes are automatically linked to the current timestamp
  4. Click any note to jump back to that moment

Keyboard Shortcuts

Shortcut Action
Mute button Toggle microphone mute

πŸ› οΈ Development

Project Structure

deeplearning-study-buddy/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ background/
β”‚   β”‚   └── serviceWorker.ts     # Chrome extension background worker
β”‚   β”œβ”€β”€ content/
β”‚   β”‚   β”œβ”€β”€ contentScript.ts     # Main content script
β”‚   β”‚   β”œβ”€β”€ transcriptExtractor.ts
β”‚   β”‚   β”œβ”€β”€ videoObserver.ts
β”‚   β”‚   └── courseContext.ts
β”‚   β”œβ”€β”€ sidebar/
β”‚   β”‚   β”œβ”€β”€ sidebar.ts           # Sidebar logic
β”‚   β”‚   β”œβ”€β”€ sidebar.html
β”‚   β”‚   └── styles.css
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ geminiLiveService.ts # Gemini Live API integration
β”‚   β”‚   └── notesStorage.ts
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── audio.ts
β”‚   └── types.ts                 # TypeScript interfaces
β”œβ”€β”€ icons/
β”œβ”€β”€ manifest.json
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
└── vite.config.ts

Development Mode

For hot-reloading during development:

npm run dev

This watches for file changes and rebuilds automatically.

Building for Production

npm run build

Tech Stack

  • TypeScript - Type-safe JavaScript
  • Vite - Fast build tool
  • Google Gemini Live API - Real-time voice AI
  • Mermaid - Diagram rendering
  • D3.js - Data visualization
  • Chrome Extension Manifest V3

πŸ”§ Configuration

API Key Storage

Your API key is stored locally in Chrome's extension storage. It never leaves your browser except when making requests to the Gemini API.

Permissions

The extension requires these permissions:

  • activeTab - To interact with the current tab
  • storage - To save notes and settings
  • host_permissions for learn.deeplearning.ai - To inject the sidebar

🀝 Contributing

We welcome contributions! Here's how you can help:

Reporting Bugs

  1. Check existing issues
  2. If not found, create a new issue with:
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots if applicable

Feature Requests

Open an issue with the enhancement label describing:

  • The problem you're trying to solve
  • Your proposed solution
  • Any alternatives you've considered

Pull Requests

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run the build to ensure no errors (npm run build)
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Code Style

  • Use TypeScript for all new code
  • Follow existing patterns in the codebase
  • Add meaningful comments for complex logic

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


πŸ“¬ Contact

Have questions? Reach out!


Made with ❀️ for the AI learning community

About

An AI-powered voice study companion for DeepLearning.ai courses

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors