A local video library for your own folders. Add any folder of videos and browse them in a clean, module-style player — use it for courses, talks, recordings, or anything else. Everything stays offline and on your machine; no account or database.
Built with Tauri v2, React, and Tailwind CSS.
- Add any folder — point to a folder with video files and Locademy organizes them into modules
- Auto-detect structure — supports both nested folders (module per folder) and flat layouts
- Track progress — mark videos as completed, see per-module and overall progress
- Built-in video player — plays mp4/webm; fullscreen and collapsible sidebar
- Auto-advance — mark as complete and jump to the next video
- Rescan — pick up new videos added to a folder
- System theme — follows your OS light/dark preference
- Fully local — all data stays on your machine, stored as a simple JSON file
- Node.js (v18+)
- Rust
- Platform-specific dependencies for Tauri: see Tauri prerequisites
# Clone the repo
git clone https://github.com/swimshahriar/locademy.git
cd locademy
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri buildLocademy auto-detects two folder layouts:
Nested (recommended):
My Course/
├── 01 - Introduction/
│ ├── 01 - Welcome.mp4
│ └── 02 - Overview.mp4
├── 02 - Getting Started/
│ ├── 01 - Installation.mp4
│ └── 02 - First Steps.mp4
└── 03 - Advanced/
└── 01 - Deep Dive.mp4
Flat:
My Course/
├── 01 - Welcome.mp4
├── 02 - Installation.mp4
└── 03 - Building Something.mp4
Built-in player: mp4, webm (depends on OS webview)
System player fallback: mp4, mkv, webm, avi, mov, wmv, flv, m4v, mpg, mpeg, 3gp, ogv, ts — any format your OS can handle
Pushing a version tag builds installers and creates a draft GitHub release:
git tag v0.1.0
git push origin v0.1.0The Release workflow runs on tags v*, builds for macOS (x64 only — runs on both Intel and Apple Silicon via Rosetta), Windows, and Linux, then creates a draft release with the installers attached. Open the release on GitHub, edit the notes if needed, and publish.
Required: In the repo go to Settings → Actions → General, under "Workflow permissions" choose Read and write permissions so the workflow can create releases.
After downloading the installer for your OS:
| Platform | Setup |
|---|---|
| macOS | Download the x64 .dmg. Open it, drag Locademy to Applications. On first open, if macOS says the app is from an unidentified developer: System Settings → Privacy & Security → find Locademy and click Open Anyway. (The single x64 build runs on both Intel and Apple Silicon via Rosetta.) |
| Windows | Download the .msi or .exe installer. Run it and follow the installer steps. |
| Linux | AppImage: download, make executable (chmod +x Locademy-*.AppImage), then run it. .deb: install with sudo dpkg -i Locademy_*.deb (or your package manager). |
To replace the default icon, put your 1024x1024 PNG at the project root as app-icon.png and run:
npm run tauri icon app-icon.png- Tauri v2 — cross-platform desktop runtime
- React 19 — UI framework
- TypeScript — type safety
- Tailwind CSS v4 — styling
- Rust — backend (folder scanning, data persistence)
Contributions are welcome. Ways to help:
- Bug reports and ideas — open an issue.
- Code and features — open a pull request. If you don’t have write access to this repo, fork it first, create a branch on your fork, then open a PR from your fork. Keep changes focused and add a short description.
- Docs and README — fix typos, clarify steps, or add examples via a PR (same fork → branch → PR flow if needed).
Development: npm install then npm run tauri dev. Match the existing code style.
MIT