sriv: simple rust image viewer

2025-10-22

I vibe-coded an image viewer in Rust!

sriv screenshot

FIGURE 1 Screenshot

github

For years, I’ve been using simple X image viewer sxiv, and when the developer abandoned it, I switched to nsxiv. Overall, I love it because of its extremely minimalistic UI without any toolbars or GUI elements, vim-like keybindings, overall speed, and support for custom keybindings to execute custom commands. I have some commands to upload photos to my website, and to edit photos in darktable, which are super handy.

But several issues with nsxiv started to become annoying.

So I created sriv which addresses these issues.

I also added some optimizations like eagerly trying to prefetch the full size image when you are browsing around in thumbnail mode.

Finally, I implemented CLIP-powered semantic search across the image library! Now I can just press / and type in what I need to find. This is incredibly useful for finding photos in my library of tens of thousands of images.

I used Codex CLI to vibe code this and the codebase is just under 3000 lines of code (still less than nsxiv‘s 5000 lines of C, although I’m standing on the shoulders of giants by pulling in enormous crates as dependencies).

Feel free to raise any issues or suggestions on GitHub!