<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Robin Narban</title>
    <description>The latest articles on DEV Community by Robin Narban (@robin_codes_yt).</description>
    <link>https://dev.to/robin_codes_yt</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3829749%2Fa0d25d65-82d0-43f9-8588-48793839ef21.jpg</url>
      <title>DEV Community: Robin Narban</title>
      <link>https://dev.to/robin_codes_yt</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/robin_codes_yt"/>
    <language>en</language>
    <item>
      <title>I Built a YouTube Bookmark Manager Using Vanilla JavaScript (No Backend, No Login)</title>
      <dc:creator>Robin Narban</dc:creator>
      <pubDate>Tue, 17 Mar 2026 16:24:57 +0000</pubDate>
      <link>https://dev.to/robin_codes_yt/i-built-a-youtube-bookmark-manager-using-vanilla-javascript-no-backend-no-login-1bec</link>
      <guid>https://dev.to/robin_codes_yt/i-built-a-youtube-bookmark-manager-using-vanilla-javascript-no-backend-no-login-1bec</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey devs 👋&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I recently built a YouTube Video Library Web App that lets you save and organize videos in a way that feels more like a personal library than YouTube playlists.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 Live Demo: &lt;a href="https://ytbookmark.vercel.app/" rel="noopener noreferrer"&gt;https://ytbookmark.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💡 The Problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;YouTube playlists are useful… but only to a point.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hard to organize large collections&lt;/li&gt;
&lt;li&gt;No custom grouping beyond playlists&lt;/li&gt;
&lt;li&gt;No quick way to manage or filter content&lt;/li&gt;
&lt;li&gt;Everything is tied to your account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After saving hundreds of videos, it started to feel messy and limiting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧠 The Idea&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wanted a simple, private, and flexible way to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save videos quickly&lt;/li&gt;
&lt;li&gt;Organize them however I want&lt;/li&gt;
&lt;li&gt;Access them without logging in&lt;/li&gt;
&lt;li&gt;Keep everything in one clean interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built my own &lt;strong&gt;YouTube video library.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ Tech Stack&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Vanilla JavaScript&lt;/li&gt;
&lt;li&gt;localStorage&lt;/li&gt;
&lt;li&gt;PWA (Progressive Web App)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No frameworks. No backend. Fully client-side.&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Features
&lt;/h2&gt;

&lt;p&gt;**&lt;br&gt;
&lt;strong&gt;📌 Core Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save YouTube video links&lt;/li&gt;
&lt;li&gt;Auto-generate thumbnails&lt;/li&gt;
&lt;li&gt;Organize videos into custom groups&lt;/li&gt;
&lt;li&gt;Instant search and filtering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;⭐ Productivity Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mark favorites&lt;/li&gt;
&lt;li&gt;Edit labels and group names&lt;/li&gt;
&lt;li&gt;Move or copy videos between groups&lt;/li&gt;
&lt;li&gt;In-app video preview&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🔄 Data Handling&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistent storage using localStorage&lt;/li&gt;
&lt;li&gt;Export &amp;amp; import backups&lt;/li&gt;
&lt;li&gt;Refresh video metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🎨 UI &amp;amp; Experience&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Responsive design (mobile + desktop)&lt;/li&gt;
&lt;li&gt;Custom modals &amp;amp; action menus&lt;/li&gt;
&lt;li&gt;Toast notifications&lt;/li&gt;
&lt;li&gt;Recent activity tracking&lt;/li&gt;
&lt;li&gt;📱 Installable App (PWA)&lt;/li&gt;
&lt;li&gt;Install on desktop&lt;/li&gt;
&lt;li&gt;Works offline&lt;/li&gt;
&lt;li&gt;Feels like a native app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🧩 Key Challenges&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Structuring Data in localStorage&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Without a backend, everything had to be stored and managed in the browser.&lt;/p&gt;

&lt;p&gt;I designed a structured format for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;videos&lt;/li&gt;
&lt;li&gt;groups&lt;/li&gt;
&lt;li&gt;metadata&lt;/li&gt;
&lt;li&gt;user actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Extracting YouTube Thumbnails&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I parsed video URLs to extract the video ID and generate thumbnails dynamically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Building UI Without Frameworks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Creating smooth interactions like modals, menus, and notifications using pure JavaScript required careful DOM handling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔥 What Makes It Different?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No login required&lt;/li&gt;
&lt;li&gt;No dependency on YouTube accounts&lt;/li&gt;
&lt;li&gt;Works offline&lt;/li&gt;
&lt;li&gt;Fully private (data stays in your browser)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More flexible than playlists&lt;/p&gt;

&lt;p&gt;It’s not meant to replace YouTube —&lt;br&gt;
it’s meant to give you &lt;strong&gt;more control over your saved content.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to manage complex state using localStorage&lt;/li&gt;
&lt;li&gt;Structuring scalable front-end logic without frameworks&lt;/li&gt;
&lt;li&gt;Building a complete product experience with just Vanilla JS&lt;/li&gt;
&lt;li&gt;Importance of UX in small tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*&lt;em&gt;📈 What’s Next?&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some ideas I might add:&lt;/li&gt;
&lt;li&gt;Tags &amp;amp; advanced filtering&lt;/li&gt;
&lt;li&gt;Drag &amp;amp; drop organization&lt;/li&gt;
&lt;li&gt;Dark mode improvements&lt;/li&gt;
&lt;li&gt;Optional cloud sync&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🙌 Feedback Welcome&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts, suggestions, or ideas for improvement.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzj6ogna6vc2u03mtjbtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzj6ogna6vc2u03mtjbtc.png" alt=" " width="800" height="459"&gt;&lt;/a&gt;&lt;br&gt;
If you find it useful, feel free to share 🙌&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>youtube</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
