<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Rajan Gupta</title>
    <description>The latest articles on DEV Community by Rajan Gupta (@iamspyder).</description>
    <link>https://dev.to/iamspyder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4192986%2F435c408a-7e27-407b-8dd8-47646d3d5484.png</url>
      <title>DEV Community: Rajan Gupta</title>
      <link>https://dev.to/iamspyder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamspyder"/>
    <language>en</language>
    <item>
      <title>I built a free, offline Descript alternative (and open-sourced it)</title>
      <dc:creator>Rajan Gupta</dc:creator>
      <pubDate>Wed, 21 Oct 2026 13:12:31 +0000</pubDate>
      <link>https://dev.to/iamspyder/i-built-a-free-offline-descript-alternative-and-open-sourced-it-1665</link>
      <guid>https://dev.to/iamspyder/i-built-a-free-offline-descript-alternative-and-open-sourced-it-1665</guid>
      <description>&lt;p&gt;Most of my editing time used to go on one boring job: cutting out "um", dead air, and the second take of a sentence I'd fumbled. Text-based editors fix that beautifully. You get a transcript, delete the words you don't want, and the video follows. But the popular one costs $16 to $65 a month, caps your media hours (10 a month on the cheapest paid plan), and your recordings live in the cloud.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;TalkCut&lt;/strong&gt;: a free, MIT-licensed desktop editor that does the core text-editing workflow entirely on your own computer.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Repo and downloads:&lt;/strong&gt; &lt;a href="https://github.com/iamspyder/talkcut" rel="noopener noreferrer"&gt;https://github.com/iamspyder/talkcut&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft3smcka2iia2cf1w6mu9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ft3smcka2iia2cf1w6mu9.gif" alt="TalkCut demo" width="760" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Edit the words, edit the video.&lt;/strong&gt; Transcripts carry word-level timestamps. Select words, press Delete, and their media intervals are cut. Edits are non-destructive, with full undo/redo.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click cleanup.&lt;/strong&gt; A single preview lists filler words, long gaps and adjacent repeated takes. Apply them as one undoable edit, then review exactly what was removed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice cleanup.&lt;/strong&gt; A local noise-suppression pass plus loudness normalisation, with a Before/After toggle at the same playhead so you can actually hear the difference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Captions, layers, titles, scenes.&lt;/strong&gt; Export SRT/VTT, add text and media layers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Record in the app.&lt;/strong&gt; Screen, camera and mic, with a teleprompter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export MP4 up to 4K or MP3&lt;/strong&gt;, with no watermark.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No account, no telemetry.&lt;/strong&gt; Files stay in your local app-data folder. Optional cloud integrations (OpenAI, fal, ElevenLabs, Pexels) exist but are &lt;strong&gt;off by default&lt;/strong&gt; and use your own keys.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works under the hood
&lt;/h2&gt;

&lt;p&gt;TalkCut is an Electron app with a React UI, and most of the heavy lifting is done by three open-source workhorses:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;whisper.cpp&lt;/strong&gt; for speech-to-text. You download a model once (base about 148 MB, small about 488 MB, medium about 1.53 GB), and after that transcription runs offline on the CPU. No GPU is required. Each word comes back with start and end timestamps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The edit model.&lt;/strong&gt; A project is the original media plus a list of kept and removed word ranges. Deleting text doesn't touch your file; it changes which intervals survive. That's what makes undo cheap and keeps the source intact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cleanup heuristics.&lt;/strong&gt; Filler words are matched against a list, gaps are silence longer than a threshold, and retakes are &lt;em&gt;adjacent&lt;/em&gt; repeated phrases ("so today we're, so today we're going to..."). That last one is deliberately conservative. I'd rather miss a retake than cut a sentence you meant to keep, which is why everything goes through a preview first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DeepFilterNet (ONNX)&lt;/strong&gt; for voice cleanup, followed by FFmpeg loudness normalisation. The cleaned track is cached, so A/B switching is instant after the first pass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FFmpeg&lt;/strong&gt; renders the final MP4/MP3 from the edit list, layers and captions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Shipping a native-heavy Electron app to three OSes
&lt;/h2&gt;

&lt;p&gt;The UI was the easy part. The hard part was making native helpers behave everywhere:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Native downloads (models and helpers) are retried, partial files are discarded, and checksums are verified before an atomic move into place.&lt;/li&gt;
&lt;li&gt;I pinned the FFmpeg build after a newer Linux binary dropped the filter the title layers depend on, and the CI now runs real export tests on Windows, macOS and Linux.&lt;/li&gt;
&lt;li&gt;Installers are about 260 to 285 MB, mostly because FFmpeg, whisper.cpp and the ONNX runtime are bundled. That's the price of "works offline out of the box".&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Honest limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unsigned builds.&lt;/strong&gt; Windows SmartScreen and macOS Gatekeeper will warn you. Every release ships SHA-256 checksums, and you can build from source (Node 24, CMake).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS is x64 for now.&lt;/strong&gt; It runs on Apple Silicon through Rosetta 2; a native arm64 build is on the roadmap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transcription and cleanup need a human glance.&lt;/strong&gt; Accuracy depends on the model size and your audio.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's not a full NLE.&lt;/strong&gt; If you need multicam, colour grading or effects, use Resolve or Kdenlive. TalkCut is for talking-head videos, podcasts, tutorials and screen recordings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it in two minutes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Download for your OS from &lt;a href="https://github.com/iamspyder/talkcut/releases/latest" rel="noopener noreferrer"&gt;Releases&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Try with a sample&lt;/strong&gt; (it works before you download any model).&lt;/li&gt;
&lt;li&gt;Hit &lt;strong&gt;Clean up&lt;/strong&gt;, preview, apply, then undo, just to see it.&lt;/li&gt;
&lt;li&gt;Toggle voice cleanup Before/After.&lt;/li&gt;
&lt;li&gt;Export.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;Code signing and notarization, a native Apple Silicon build, better multilingual transcript correction, and long-recording performance. If any of that is your thing, there are &lt;code&gt;good first issue&lt;/code&gt;s open and Discussions are on.&lt;/p&gt;

&lt;p&gt;If TalkCut saves you a subscription, a ⭐ on &lt;a href="https://github.com/iamspyder/talkcut" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; genuinely helps other people find it. I'd love to hear what the cleanup misses on your recordings. Comments here or GitHub issues both work.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;TalkCut is an independent project and isn't affiliated with Descript.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>showdev</category>
      <category>electron</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
