Building a Simple Kid-Friendly Video Browser with Electron
I recently gifted my son his first laptop and loaded it with a collection of videos for him to watch.
However, I quickly encountered a problem: there was no convenient way for him to browse through the videos. The default file browser wasn’t foolproof, and he accidentally deleted or moved some files.
Kodi seemed like an over-engineered solution for my needs, and its performance was subpar on the relatively low-powered device I was using. While VLC played the videos smoothly, Kodi struggled—either causing stuttering or audio dropouts.
To solve this, I decided to create a simple, kid-friendly video browser. This would also give me an opportunity to experiment with a new tech stack. After some initial exploration, I chose Electron. I had briefly considered Tauri and even started building with it, but due to my limited experience with Rust and the somewhat sparse documentation, I made the switch to Electron early on.

The core objective was to scan a folder into the media library, categorize the contents by folder, and generate thumbnails for each video. I wanted the first thumbnail in each category to serve as the category’s cover image.
For thumbnail creation, I used ffprobe and ffmpeg. Metadata is stored in an SQLite database. When a video is selected, the application launches a VLC instance to handle playback. Finally, I packaged the application as an AppImage using electron-builder for easy deployment.