<?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: Shahriar Swim</title>
    <description>The latest articles on DEV Community by Shahriar Swim (@swimshahriar).</description>
    <link>https://dev.to/swimshahriar</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%2F477733%2F495408df-fa6e-4a09-83a7-afdbc8df0f3c.jpg</url>
      <title>DEV Community: Shahriar Swim</title>
      <link>https://dev.to/swimshahriar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/swimshahriar"/>
    <language>en</language>
    <item>
      <title>Why I Built Locademy: A Local-First Video Learning Hub</title>
      <dc:creator>Shahriar Swim</dc:creator>
      <pubDate>Sun, 08 Feb 2026 06:01:55 +0000</pubDate>
      <link>https://dev.to/swimshahriar/why-i-built-locademy-a-local-first-video-learning-hub-4fh8</link>
      <guid>https://dev.to/swimshahriar/why-i-built-locademy-a-local-first-video-learning-hub-4fh8</guid>
      <description>&lt;p&gt;&lt;strong&gt;I have a confession:&lt;/strong&gt; my "Downloads" folder is a graveyard of tutorial series, conference talks, and screen recordings. Navigating through nested folders to find the next video in a sequence is a friction point that often kills my motivation to learn.&lt;/p&gt;

&lt;p&gt;I wanted something that felt like a premium LMS (Learning Management System) but lived entirely on my machine—no accounts, no subscriptions, and no "cloud sync" privacy concerns.&lt;/p&gt;

&lt;p&gt;So, I built &lt;strong&gt;Locademy&lt;/strong&gt;.&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%2Fyt0syk0audpvpakllp6n.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%2Fyt0syk0audpvpakllp6n.png" alt="Locademy home screen" width="800" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; From Messy Folders to Clean Modules&lt;br&gt;
Locademy is a desktop app that turns any local folder into an organized course library. You point it at a directory, and it automatically parses the structure into modules and lessons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;br&gt;
Auto-Detect Structure: Whether your files are flat or nested in sub-folders, Locademy figures it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Progress Tracking:&lt;/strong&gt; Mark videos as completed and see your progress bars fill up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tauri-Powered Performance:&lt;/strong&gt; Built with Tauri v2, so it's incredibly lightweight and uses your system's native webview.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy First:&lt;/strong&gt; Everything stays as a simple JSON file on your disk. No database, no tracking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Tech Stack&lt;/strong&gt;&lt;br&gt;
I chose this stack to keep the app fast, type-safe, and modern:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tauri v2:&lt;/strong&gt; For the Rust-based backend (handling file system scanning) and a tiny binary size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React 19 &amp;amp; TypeScript:&lt;/strong&gt; For a snappy, reliable UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tailwind CSS v4:&lt;/strong&gt; For rapid styling and a clean "System Theme" look.&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%2F5e8k6nmo0tj3ajyffazb.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%2F5e8k6nmo0tj3ajyffazb.png" alt="Locademy course screen" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handling the "Offline" Challenge&lt;/strong&gt;&lt;br&gt;
One of the biggest hurdles was ensuring a smooth video experience across different formats. While the built-in browser-based player handles mp4 and webm perfectly, I implemented a System Player Fallback. If you have a file the webview can't handle (like an .mkv or .avi), Locademy can trigger your OS's native player.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development Workflow&lt;/strong&gt;&lt;br&gt;
Building with Tauri v2 was a breeze. One of my favorite parts of the workflow is how easily it handles cross-platform builds via GitHub Actions. Pushing a version tag automatically generates installers for macOS, Windows, and Linux.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# How easy it is to get started&lt;/span&gt;
git clone https://github.com/swimshahriar/locademy.git
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run tauri dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What's Next?&lt;/strong&gt;&lt;br&gt;
Locademy is open-source and currently under the MIT license. I'm looking to add features like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Global search across all added folders.&lt;/li&gt;
&lt;li&gt;Notes/Bookmarks for specific video.&lt;/li&gt;
&lt;li&gt;Support for more metadata (reading local .txt or .md files as lesson descriptions).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Get Started&lt;/strong&gt;&lt;br&gt;
You can download the latest version for Windows, macOS, or Linux directly from the site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://locademy.swimshahriar.dev" rel="noopener noreferrer"&gt;locademy.swimshahriar.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/swimshahriar/locademy" rel="noopener noreferrer"&gt;swimshahriar/locademy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re a fan of local-first software or just want a cleaner way to watch your downloaded courses, I’d love for you to give it a try!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you find this project helpful, a ⭐ on GitHub would mean a lot!&lt;/strong&gt;&lt;/p&gt;

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