The open source screen recording and sharing app for macOS, Windows & Linux. Free version available. Smooth cursor, auto zoom, shareable links & more.

Joined March 2007
11 PRs merged into @cap so far, so obviously I (cough my friend opus 5.5 cough) made a video about it instead of touching grass The cursor recorder was hashing the exact same cursor image every single tick, even when nothing changed. Basically checking your pocket for your keys over and over while they're in your hand. With a big cursor that was 5,204µs a tick, now it's 538µs Finding your mic for the recording hotkey took 280ms. Now it's 0.32ms The mic meter was waking up the main thread 93.8 times a second. Now it's 7.2, and 0 when you're silent - which is more than anyone can say about me Timeline repaints with 120 clips went from 2,178µs to 96µs And one of them just fixes the lint that turned main's CI red. Massive cheers to @richiemcilroy for reviewing and merging all of these 🫡 (I forgot to specify that I wanted a 16:9 video not 9:16 - I need to save the extra tokens for more PRs)
3
1
6
511
It’s never been easier to ship code, but testing has still been a massive bottleneck for us… so I decided to change that 🫡 With @Cap, we’re currently making a full transition to GPUI, and a screen recorder is a strange thing to test reliably, because you can export a perfectly playable video that has the wrong frames in it. Everything appears to work until you look closer! I don’t want to ship slop, and any regressions are my worst nightmare. The faster we’re shipping code (and generously from contributors!) the more time I find myself spending trying to 100% prove that we haven’t broken something So I’ve spent the last couple of days building an automated testing harness for Cap… 🥁 It runs our actual media code through repeatable scenarios whenever a relevant PR changes it and runs simultaneously across macOS, Windows and Linux. Also made it so that a draft gets a smaller suite so feedback comes back quicker (this is great for agents!) The interesting part though is how we know whether the video is correct… To do this, we generate test videos with an ID encoded into every frame, alongside audio markers placed at exact moments. These are our video fixtures. When we put one through Cap’s exporter, we can decode the result and check which frames actually made it through So a cut would change which frame should appear next, or maybe a speed change alters when it should appear. We calculate that independently of Cap’s implementation, so the test has something to check the output against For example, if frame 125 appears where frame 126 should be, we will know. We don’t need someone to sit there watching for it! Performance gets measured too. The PR and its merge base are built on the same machine, then benchmarked in alternating runs after warming up. That gives us a comparison of CPU time before and after the change, while reducing the noise you’d get from comparing unrelated CI runs We’ve moved most of this onto @useblacksmith . One Windows test batch went from 9m 52s on GitHub-hosted runners to 2m 59s, about 3.3x faster (!!) Another went from 5m 08s to 45s. Nearly 7x faster for that test step (!!!) What I hadn’t quite expected though was how much we’d fix while building the actual harness itself In one crash recovery test, the footage lost went from 11.03 seconds to 1.03 seconds. We also fixed a decoder bug that could show a frame from 89 frames earlier after seeking, without meaningfully increasing CPU usage There’s something almost self healing about having this in a loop. We get a reproducible failure, fix the cause, and the test stays behind to catch it if it ever comes back. Each fix leaves us less dependent on remembering everything that’s gone wrong before I think now that we have this in place, the logical next step is to scale it up and run performance/regression testing autonomously from things like Sentry logs and user feedback. Definitely going to commit a decent amount of $ to it. I probably need at least another 4x Claude subs! Really excited to ship the improvements we’ve already made just from building this. With the harness mostly in place, I can move much faster on my own changes and contributor PRs. Being able to make that progress without the constant worry of breaking someone’s recording feels pretty fucking good I can’t lie 🤩
18
7
7
87
4,225
Got my first GitHub sponsor 🎉 Took up @cap's challenge, made video imports in their new GPUI app ~1.9x faster, and the PR got merged. 1080p60: 62s → 33s 4K30: 82s → 43s github.com/CapSoftware/Cap/p… Thank you @richiemcilroy
Took you up on it GPUI video imports are now ~1.9x faster: • 1080p60: 62s → 33s • 4K30: 82s → 43s Same output quality, benchmarks in the PR 👇 CapSoftware/Cap#2575
10
6
1
36
1,207
Huge thanks to @Cap for supporting my open-source work and becoming my first GitHub sponsor! ❤️
1
7
391
Just got my first ever GitHub sponsor - and it's from @cap! I've been using Cap for ages and genuinely love it, so getting sponsored to make it faster is kinda crazy. 11 PRs in, 5 merged, not stopping now :D Massive thanks @richiemcilroy 🫡
1
4
12
453
Self hosted @cap on our own server, with videos stored in @Cloudflare R2. 100GB of video storage costs just $1.35/month. No arbitrary limits. Cheerio, @loom. Won’t miss you. 👋 CC @digitalquokka
2
1
10
915
the power of rewriting in GPUI!!! you dont see <10mb of RAM much these days lol
42
15
2
1,955
134,753
Wow. Tov.sh is already faster than Rust and Bun in lots of cases. Smaller binary, memory/CPU usage, faster build times. I’ve only worked on it for ~1 day 😳 imagine 1 week! Also built a x264 encoder replacement for @Cap, using Tov, and it is up to 8.1x faster.
46
42
6
568
71,752
I spent about a day contributing PRs to @cap • Export: 104s → 18s (5.8×) • Dev rebuild: 380s → 22s (17×) • Encode: 49 → 307 fps • Bundle: 98.3 → 91.1 MB (−7.3%) • Editor ready: −0.6s • Stale frames: 601 → 22 • NVENC: 24% → 100% • GPU SM: 24% → 53% • NVDEC: 14% → 45% • Shader build: 0.94s → 0.49s • Bugs fixed: 6
8
2
2
148
7,085
happy performance saturday, another few seconds shaved off video export time
1
1
27
3,555
sped up the @cap local build loop 5x shaving off several minutes off each rebuild and 15 mins off a cold first build..! i didnt do anything clever I am just good at pointing agents
3
1
33
1,579
i just cut 60s off @cap's export time on windows from my real exports
4
1
51
2,080
RT @drupagu: been testing a diff ways for AI to record videos usually, can't use PC while recording, video quality/movement is shit. solv…
1
151
Cap retweeted
suggest a feature you’d like to see in Cap v0.6.1 in the comments below if we build it, we’ll send you a free lifetime desktop license 😁
16
3
1
20
3,476
Cannot recommend @cap enough, really Free, open source, better than almost any paid software for video recording, screenshots, and editing Makes my life so much easier Thanks so much, @richiemcilroy
1
2
29
2,128
just checked and @Cap has active paying customers from 131 different countries 🤯
2
2
35
2,152
Used Loom every day for a year. Then I tried @cap for a week. The part that got me: your AI coding agent can record a bug fix and drop the video straight into the PR. Full breakdown (price, editor, owning your recordings) 👇 youtu.be/s631jhHMYsQ
1
1
7
742
This sentence sounds slightly surreal to type, but @Cap’s first-ever AI model is currently being trained. It’s built for one very specific problem, and solving it well will make the upcoming Cap Web experience feel dramatically better. What a fun Sunday.
7
5
45
3,393
Fun one for @Cap. A new web experience is coming with 1:1 parity to Cap Desktop, plus a render farm I built so exports run server-side. 60fps playback in every browser. Rust + wgpu in WASM on WebGPU, with WebCodecs decoding straight to the GPU. Early results are insane.
5
4
1
39
2,573