Oliver Eidel · July 10, 2026

How We Downloaded All Our Looms Videos And Migrated To Chairkick

So we were using Loom at OpenRegulatory, and we were quite happy with it. But then, Loom got bought by Atlassian. This presented us with a problem.

You see, my personal working hypothesis is that every software product touched by Atlassian slowly morphs into some sort of mediocre enterprise software "solution" indistinguishable from a sluggish mess of spaghetti code.

Data point #1: After the acquisition, I tried to record a Loom video with my usual workflow including the Loom desktop app on macOS. It just didn't work - the video would not upload. The usual fixes (reinstalling, unplugging your computer and counting to 10, praying to the Atlassian gods, etc.) didn't help, so I'll take this as data point #1 for Loom slowly turning to crap.

Enough said - we had to migrate.

The obvious alternative is Cap, which is open source and which you can self-host. So we did just that.

Turns out, it is surprisingly hard to self-host as I wrote up here. I truly respect their mission to build an open-source Loom alternative, but man, this was some sort of jumbled next.js mess. Here's my post on our reasons for moving away from Cap.

The next and less-obvious alternative is to build our own Loom alternative. So we did just that.

Turns out, it's surprisingly doable to build your own Loom alternative because the browser APIs for screen and webcam recording are pretty solid. Enter Chairkick.

But there was one problem: We didn't want to lose all our Loom videos which we had recorded over the years. So we would have to download all our Loom videos from our workspace, and migrate them to Chairkick.

Downloading All Our Loom Videos

Roughly speaking, you don't have many great options downloading / exporting all your Loom videos:
  • You could download each video individually from the UI - very slow and cumbersome.
  • You could vibecode some sort of downloader (I did this, initially) - this works in the sense of "now you have a local folder full of mp4 files and don't know what to do with it" - not a perfect solution.

So there has to be a better way, and the idea would be that you download all your Loom videos plus the metadata (titles, descriptions, etc.), and then automatically import all those videos into the tool which you want to use in the future.

How hard could it be?

It turns out that Loom, under the hood, exposes some sort of GraphQL API (a good prerequisite for  becoming a jumbled spaghetti code enterprise solution in the future). With this, it's pretty trivial to extract all your Loom video URLs and their metadata without having to use the UI. Nice.

The main problem is that each of your Loom users has to do this separately. That's because you, as a logged-in admin Loom user, can only see 1) your own videos and 2) videos shared by other users to your workspace. You can't see other user's private videos (which makes sense, of course).
 
So every member of our team would have to do this. This is not trivial, because you can't just tell a non-technical member of your team to "brew install clojure and run this Clojure script".

Then again, it's a solvable problem, as all of the code can run in the browser. So I went ahead and built a fancy Chrome extension for this (it's live on the Chrome Web Store!).

Here's how it looks:
Loom Exporter Chrome Extension

There's not a whole lot of magic. It queries the Loom GraphQL API and gives you your Loom video URLs.

Now, with the URLs in hand, you could do one of two things:
  • "Simply" (famous last words) point ffmpeg to them and download then, leaving you with a local folder full of mp4 files
  • Click the fancy "Send to Chairkick" button, which automagically imports all your Loom videos into Chairkick for you (we even run ffmpeg for you and handle the "local folder full of mp4 files" problem!).

Of course, the obvious next step is to push the fancy button. I encourage you to do it. It's fun. You'll see lots of spinners and progress bars. And it's simple!

Downloading All Our Cap Videos

One more wrinkle - we had also created some Cap videos in the meantime while we were pretending that it wasn't a next.js mess and that it might work for us. We also had to download those and import them into Chairkick.

This was pretty trivial, because Cap made the smart architectural choice of not having a GraphQL API.

So we also rolled that into the Chrome extension and Chairkick backend code, so you can use the exact same workflow to download your Cap videos and migrate them to Chairkick, too!

Goodbye, Loom

And that's it, really.

If you're looking for a Loom Alternative, you should give Chairkick a try.
It's another step in our mission of helping the world 1) migrate off Atlassian software and 2) offer very affordable SaaS alternatives. Yes, Chairkick is significantly cheaper than Loom (we jokingly call ourselves the "Aldi of SaaS" sometimes).

Send me a message and I'll throw in a free month of Chairkick Pro for you!

Related posts