Re

Recut automatically removes silence from videos – built with Tauri

Hacker News

Recut automatically removes silence from videos – built with Tauri

I released a new version of Recut recently, rewritten from the ground up using Rust, Svelte, Tauri, TypeScript, and Tailwind (RUSTTT stack for the win!). It's the first app I've built with Tauri and I've really enjoyed it. Some back story: Recut is a tool I built to speed up my screencast editing workflow. It's like a lightweight single-purpose video editor. It chops out the pauses, with some knobs to tweak how closely it cuts and what it leaves in, and lets you get a live preview of what it'll look and sound like with the cuts applied. It can then export to a handful of other editors, nondestructively, so that you can use the full capabilities of a "real" video editor. It was originally a native Mac app written in Swift, and people kept asking for a Windows version. I had learned Swift and macOS development to build it originally. So as a solo developer, I had some choices to make. Keep it Mac-only? Learn another whole language + UI framework, rebuild the app, and maintain two codebases? Rebuild the app with a cross-platform toolkit? I'd had experience with Qt and C++ in years past, but I honestly didn't love the idea of getting back into C++ and dealing with the inevitable hard-to-debug segfaults. I'd had more recent experience as a web developer, but I was worried about performance bottlenecks. I actually started down the path of building Recut in Electron and Rust (using NAPI-RS for bindings) and it looked promising, but I was still worried about the bloat of Electron. A few months in, I took a closer look at Tauri, and ported the whole app from Electron in a week or so. Most of the heavy lifting was already in Rust, and the UI stuff pretty much "just worked". The biggest change was the bindings between JS and Rust. Working with Tauri has been nice. I especially like their "State" system, which gives you an easy way to keep app-wide state on the Rust side, and inject specific parts of it into functions as-needed. I also really like how easy it is to write a Rust function and expose it to JS. The process model feels a lot easier to work with compared to Electron's split between renderer and main and preload, where you have to pay the cost of passing messages between them lest you ruin the security. Tauri's message-passing has a decent amount of overhead too, but I dealt with that by avoiding sending large amounts of data between JS <-> Rust and it's been fine. The Tauri folks on Discord were a big help too (shout out to Fabian for the help when I ran into weird edge cases). I think Tauri has a bright future! Definitely worth a look if you know web tech and want to make cross-platform apps.

Share card

Actual performance

268points
114comments
Made the leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Strong signals: started · Missing: supports, reddit linkedin, podcasting
94%94% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: mac, macos, model · Missing: agents, agent, cursor
94%94% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsStrong engagement from HN community · Strong signals: ide, io · Missing: https docs, excited, just released
65%65% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
TrustMRRFits verified-revenue profile · Strong signals: apps, video, month · Missing: mobile apps, ios, personal
53%53% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Strong signals: platform · Missing: plus, intuitive, reviews
38%38% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
16%16% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

A
A Babel plugin which removes all bugs from your code automatically55%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A Babel plugin which removes all bugs from your code automatically

Hacker News1
I
I have built a tool to automatically Edit Videos54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I have built a tool to automatically Edit Videos

Hacker News2
I
I measured what newborns can see and built videos around it48%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I measured what newborns can see and built videos around it

Hacker News3
Tr
Track when any website adds or removes anything53%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Track when any website adds or removes anything

Hacker News11
Bu
Built a Draggable Menu for Vue. Adjusts orientation automatically.48%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Built a Draggable Menu for Vue. Adjusts orientation automatically.

Hacker News5
Bu
Built a draggable Menu that automatically adjusts the orientation (Vue)48%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Built a draggable Menu that automatically adjusts the orientation (Vue)

Hacker News6
Au
Automatically Controlling a Dehumidifier with a Nest57%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Automatically Controlling a Dehumidifier with a Nest

Hacker News1
Au
Automatically Thank Patreon Backers with OpenFaaS38%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Automatically Thank Patreon Backers with OpenFaaS

Hacker News11
So
Sorts Evernotes, Automatically57%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Sorts Evernotes, Automatically

Hacker News3
TempHub
TempHub41%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Automatically call your temps, one by one

Indie Hackers1b2b