Show HN: Mac screen recorder that adds zoom animations from click data
screencharm.comHi HN, I started building my product around 2 years ago as a Chrome extension. After releasing it, I realized I would never reach the quality of desktop apps, so at the beginning of 2025 I pivoted to a macOS app. I spent 3 months rewriting the codebase for Electron. I’m still using Next.js under the hood because the chrome extension used it, but in the near future I want to switch to ViteJS since it’s lighter and I don’t need backend functionality for an Electron app.
Overall I spent about 2 years on the development. The more interesting part is tracking the cursor movements when user starts recording and transforming it into smooth cursor movements and click-driven zoom effects. I use Swift scripts for low-level cursor tracking, then run a post-processing pipeline: resampling to timeline FPS, outlier-jump clamping, stillness detection/snap-to-median, cursor-type flicker smoothing, and coordinate normalization for area vs full-screen recording. Clicks are converted into timed zoom segments with easing so playback feels intentional, not jumpy
For the video preview and export I use PixiJS. Before I used Remotion, which had the needed functionality, but the rendering was slower because it relied on a Chromium + FFmpeg pipeline. PixiJS uses WebGL so the 4k video rending is much faster. It took me about 3 weeks on switching from Remotion to PixiJS. The rendering speed improved by about 3-4x on the same projects and hardware. I was honestly relieved when it finally worked
I would never have built this product without AI assistants, since I had never built an Electron app before. Many things were not obvious to me, and my first users ran into lots of issues and edge cases I didn’t even know existed. I spent the last year fixing them.
I'm happy to answer on your questions Love the concept. Being able to click and then have video automatically zoom makes the tutorial looks more professional.