DEV Community

Cover image for LearnCurator - I built a YouTube tutorial search engine that filters videos, ranks by AI‑analysed comments
vyomanshi gohel
vyomanshi gohel

Posted on

LearnCurator - I built a YouTube tutorial search engine that filters videos, ranks by AI‑analysed comments

LearnCurator – Stop wasting time on bad YouTube tutorials

I love learning from YouTube, but I kept running into the same problems:

  • Shorts mixed into search results (too short to teach anything)
  • Non‑English/Hindi videos (I don’t speak Tamil or Telugu)
  • Outdated tutorials (still showing 4‑year‑old videos even if better ones exist)
  • No way to tell quality until I’ve watched 5 minutes

So I built LearnCurator – a smart search engine for YouTube tutorials.

🔍 How it works

  1. Initial engagement score The app first computes a base score for each video using: -engagementRatio = likes / views (capped at 1.0) -recencyFactor based on publish age

In youtubeService.js: -score = engagementRatio * 0.7 + recencyFactor * 0.3 -So videos with high like/view ratio and recent publish date rank higher.

  1. Sentiment and final score After getting the top candidate videos, it enriches them with sentiment analysis and a popularity boost.

Final score formula: finalScore = engagementRatio * 0.3
recencyFactor * 0.1
sentimentScore * 0.3
viewBoost * 0.3

🤖 AI‑powered comment analysis

I integrated Gemini 1.5 Flash to analyse YouTube comments. The AI counts positive vs negative feedback and adds a sentiment score to each video. This helps surface content that the community actually loved – not just clicked on.

👍👎 User feedback

Every video card has 😍 😐 😞 buttons. Users can rate a tutorial and leave optional comments. I built a private admin dashboard where I can see real‑time feedback, average ratings, and trending complaints.

🌐 Live demo

👉 [https://learncurator.netlify.app/]

GitHub repo. Link - [https://github.com/vyomanshi27/LearnCurator]

Star the repo if you find it useful – it helps others discover the project ⭐

Try searching for “JavaScript promises” or “React hooks” – you’ll only get videos, no shorts, all longer than 5 minutes, ranked by quality.

🛠️ Tech stack

  • Frontend: HTML, CSS, vanilla JS (responsive, works on mobile)
  • Backend: Netlify Functions (Node.js)
  • APIs: YouTube Data API v3, Gemini 1.5 Flash
  • Database: Supabase (feedback storage + caching)
  • Deployment: Netlify (frontend + functions)

📊 What I learned

  • How to handle YouTube API quotas and caching
  • Using Gemini for sentiment analysis on real‑world data
  • Building a secure admin dashboard without a traditional backend
  • Deploying a full‑stack app entirely on Netlify’s free tier

🚀 What’s next

  • Add transcript relevance scoring (search inside videos)
  • Personalised recommendations based on past feedback
  • Dark mode (because every app needs it 😄)

I’d love your feedback. Try it out and let me know what you think!


If you're a learner tired of low‑quality tutorials, or a developer curious about AI + YouTube, give LearnCurator a spin.

Top comments (0)