VidWiz is designed to enhance your YouTube learning and note-taking experience. It allows you to capture and organize your thoughts while watching YouTube videos/lectures/video essays, with a special focus on timestamp-based note-taking. The extension integrates seamlessly with YouTube's interface, making it easy to save notes at specific moments/timestamps in videos.
Additionally, it leverages AI to automatically generate comprehensive notes for any timestamp, providing intelligent summaries and insights from the video content at that specific moment.
The extension is built with:
- Frontend: HTML5, CSS3, and vanilla JavaScript for extension
- Backend: Flask (Python) for REST API
- Database: PostgreSQL for data storage
- LLM: OpenAI/Gemini models for intelligent note generation
-
Multi-Client Support
- Use the extension with any Chromium-based browser.
- Use with Android devices via Macrodroid macros.
- Use with iOS devices via Shortcuts automation.
-
Interactive Dashboard
- A modern UI with a consolidated view of all your notes.
- Search for videos.
- Open videos directly at the note's timestamp.
- Edit and delete notes with ease.
-
AI Magic
- Automatically generate accurate notes for any timestamp using LLMs.
- Set your custom AI provider and API key.
- Toggle the AI generation feature on or off.
-
Self-Hosted
- Full privacy with a self-hosted backend.
- Enhanced security over your data.
- No third-party data sharing.
- PostgreSQL database server running locally or remotely
- Docker installed on your system
- Chrome/Chromium based browser
-
Clone the project to your local system using:
git clone https://github.com/adhirajpandey/vidwiz
-
Create a
.env
file in the server directory with the following variables:DB_URL=postgresql://username:password@localhost:5432/postgres AUTH_TOKEN=your_secret_token_here TABLE_NAME=your_table_name LAMBDA_URL=your_lambda_url
-
Build Backend server image using:
docker build -t vidwiz .
-
Setup Docker container using:
docker run -d -p 5000:5000 --name vidwiz-server vidwiz
-
Open Chrome on your machine and navigate to:
chrome://extensions/
-
Ensure the "Developer mode" checkbox in the top-right corner is checked.
-
Click on Load Unpacked Extension Button, navigate to the
extension
folder in your cloned repository and select it. -
Set up your authentication token:
- Open the extension popup
- Open your browser's developer tools (F12)
- In the console, run:
localStorage.setItem('notes-token', 'your_secret_token_here')
- Replace 'your_secret_token_here' with the same token you set in the server's .env file
POST /notes
: Create a new noteGET /video-notes/{video_id}
: Get all notes for a specific videoGET /dashboard
: View the dashboard pageGET /dashboard/{video_id}
: View notes for a specific videoGET /search?query={search_term}
: Search for videos by title
- Better UI/UX for Dashboard
- Improve note CRUD functionality
- AI generated note
- Lambda workflow optimization
- Refine self-hosted setup
- Cloud Hosted Offering - Subscription model