Sign inSign up

vikas9dev/notesynth

By vikas9dev

•Updated 8 months ago

Generate AI-powered markdown notes from Udemy course captions using Gemini API

Image
Developer tools
0

639

vikas9dev/notesynth repository overview

⁠NoteSynth

Generate AI-powered markdown notes from Udemy course captions using Google's Gemini API or Groq Cloud. Transform lecture transcripts into well-structured, readable notes organized by chapters and lectures.


⁠🌐 Live Site

https://clever-liger-2e7c60.netlify.app/⁠

⚠️ Important Notes:

  • This Netlify deployment runs on a free tier with limited resources (4 GB RAM). As a result, downloading multiple lectures at once may cause the app to freeze.
  • The live site uses free-tier AI models, so API quotas may be exhausted at any time.
  • ✅ Limited usage: You can download one lecture at a time via the live site.
  • 🚀 For best experience: Use Docker or run locally with your own API keys to download multiple lectures without limitations.

⁠📥 Setup & Download Notes

Choose one of the following methods to set up NoteSynth and download notes from your Udemy courses.

⁠Prerequisites
  • AI API Keys:
  • Udemy Account: You need to be enrolled in Udemy courses to generate notes
  • Udemy Cookie: Required to access course content (instructions below)

Docker Hub: vikas9dev/notesynth⁠

⁠Quick Start
docker run -p 3000:3000 \
  -e GEMINI_API_KEY=your_gemini_key \
  -e GROQ_API_KEY=your_groq_key \
  vikas9dev/notesynth
⁠Environment Variables
VariableRequiredDescription
GROQ_API_KEY⚠️ Optional*Your Groq key (Recommended Primary)
GEMINI_API_KEY⚠️ Optional*Your Gemini key (Fallback)

*At least one AI key must be provided. If both are provided, NoteSynth will use Groq primarily and fall back to Gemini if rate limits are hit.


⁠Option 2: Local Development
⁠Installation
npm install
⁠Configuration

Create a .env.local file in the root directory:

GROQ_API_KEY=your_groq_key_here
GEMINI_API_KEY=your_gemini_key_here
⁠Running the Application
npm run dev

The application will be available at http://localhost:3000⁠


⁠🛡️ AI Stability & Rate Limiting

NoteSynth is built to handle the aggressive rate limits of free-tier AI providers:

  • ⏳ Intelligent Throttling: The app automatically waits 4 seconds between requests to stay within free-tier limits (RPM).
  • 🔄 Auto-Fallback: If one provider (e.g., Groq) is busy, the app automatically switches to the next available provider (e.g., Gemini).
  • 🚀 Efficiency: Udemy course data is fetched once and reused across all lectures, reducing unnecessary network overhead.

⁠📖 How to Download Notes

  1. Step 1: Get Your Udemy Cookie

    • Log in to Udemy.com⁠
    • Open Developer Tools (F12) > Network Tab
    • Click on any course to trigger a request
    • Copy the value of the cookie header.
  2. Step 2: Generate

    • Click "Save & Load Courses"
    • Select your course and use the "Select Lectures" screen.
    • Click "Generate Notes".
    • A ZIP file will download automatically when completed.
⁠Features
  • 🤖 Multi-AI Support: Integrated with Groq (Llama 3.3) and Google Gemini (1.5 Flash).
  • 📊 Real-Time Progress: Watch lecture-by-lecture progress with live status updates for captions and LLM processing.
  • 📜 Generation History: Track all your past sessions in the dedicated History page with download filenames.
  • ⚙️ Complete Customization: Edit AI prompts and choose between Chapter-based or Section-based output formats.
  • ⚡ Captions Only Mode: Download raw captions without AI processing for faster downloads.
  • 🔄 Resilient Processing: Built-in exponential backoff and provider fallback system.
  • 📚 Organized Output: ZIP files structured by chapters and lecture indices.
  • 🎨 Smart Markdown: Detects Tips, Warnings, and Examples with emojis and bolding.
  • 📦 One-Click Export: Batch download entire chapters as a single ZIP.
  • 💾 Local Cache: Securely stores your cookie, course list, and history in browser storage.

⁠⚡ Captions Only Mode

NoteSynth offers a Captions Only download option for users who prefer to process notes using their own AI tools:

  1. Go to Settings → Download Content tab
  2. Select "Captions Only"
  3. Generate notes as usual - downloads will be significantly faster
⁠Why Use Captions Only?
  • Faster Downloads: Skips all AI API calls, making downloads nearly instant
  • No API Credits Used: Perfect when you've hit rate limits or want to save API quota
  • Use Your Preferred AI: Process the raw captions with AI-powered IDEs like:
    • Cursor⁠ - AI-first code editor
    • Antigravity⁠ - AI coding assistant
    • ChatGPT, Claude, or any other AI tool of your choice

💡 Pro Tip: Download captions in bulk, then use your IDE's AI features to generate customized notes with your own prompts!


⁠📚 Example

See NoteSynth in action! This repository was created using NoteSynth to generate notes from an AWS certification course:

AWS_SAA-C03⁠ - AWS Certified Solutions Architect Associate Certification notes generated with NoteSynth.


⁠🛠️ Development

npm run lint
npm run build

Tag summary

Content type

Image

Digest

sha256:83bdbf4b9…

Size

90.8 MB

Last updated

8 months ago

docker pull vikas9dev/notesynth