Flinch: Why I Built My Own Capture App

Flinch: Why I Built My Own Capture App

At what point does wanting something slightly different turn into building it yourself?

I used ShareX for a long time. It did the job, and I'm sure it still does, but over time I started wanting something a little simpler.

ShareX always felt a bit like a factory to me. There are so many things you can configure and automate, and I understand why people like that. For my own use, though, I mostly wanted to take a screenshot, add a few annotations, or record something quickly.

That's what I had in mind for Flinch: a smaller app built around those things.

It actually started on Linux

CachyOS's RedNekoLady wallpaper.

I was using CachyOS at the time and ShareX isn't available there. I tried a bunch of alternatives and couldn't find a capture app close to what I wanted (ApexShot didn't exist YET). So I started making one myself.

Well, the Linux version didn't get very far. I ran into compositor and permission issues, especially around Wayland. The capture workflow depended on the desktop environment and its screen-sharing support, so getting it working wasn't quite the small project I had in mind.

Then I moved back to Windows. I was still spending time on those problems, except I wasn't even using Linux day to day anymore. At that point it made more sense to drop that version and work on something I would actually use.

What it does

Something that sits in the tray until I need it. Take a screenshot, copy or save it, get back to whatever I was doing. That's pretty much where I started.

Flinch can capture an area, the full screen, or the active window. If you want to annotate an area screenshot, hold Alt as you release the selection and the editor opens. Easy. Simple.

Flinch's annotation editor, with a rectangle, arrow, and text marking up a file-upload diagram.

You can add arrows, shapes, freehand drawings, text, and numbered markers. There's an eraser and undo/redo too. You can crop the screenshot without moving all your annotations around.

And sometimes a screenshot just doesn't show what you mean, so Flinch can also record video (with optional audio) or capture a GIF. You can start from the tray or assign a shortcut.

Flinch's area recording overlay, showing elapsed time and Pause and Stop controls below the selected region.

Recording example: Big Buck Bunny, © Blender Foundation, licensed under CC BY 3.0.

How it's made

The settings window uses Svelte 5 and SvelteKit, with Tauri 2 for the desktop shell and Rust for the backend. FFmpeg handles video processing and GIF conversion.

The capture overlays and annotation editor are native Win32 windows painted with GDI. Screen capture and audio use Windows APIs directly. So yes, there's a web interface for the settings, but the part you interact with while capturing is native.

Why use a web interface for the settings? Windows already provides the engine for it. Tauri uses Microsoft's WebView2, which comes with Windows 11 and is already installed on most Windows 10 machines. That means I can build the settings with Svelte and use a shared runtime, without bundling an entire browser engine with the app.

Try it

So that's Flinch. It started as a Linux experiment, turned into a Windows app, and now everyone can use it too!

You can get it from the Microsoft Store, or have a look at the website.

If you try it, let me know what works for you and what gets in the way. I built it around how I use a capture app and what I need from it, but I'm curious to see how other people use it.

Thanks for reading, see you next time!

Flinch: Why I Built My Own Capture App | Vulptik