# How to Vibe Code Your Own Descript (and Stop Paying for It)

> AI video and audio editing, as easy as a doc

- Site: https://descript.com
- Category: Video & Audio Editing
- Platforms: macOS app, Windows app, Web app
- Verdict: **Don't bother** (15/100 vibecodeable)
- Estimated effort: 6+ months of full-time work

## Verdict

Build a simple text-based audio clipping tool instead of trying to clone Descript; the multi-track 4K video rendering engine and real-time ML voice cloning pipelines require a venture-backed engineering team.

Descript is a massive multimedia application combining a custom web/desktop media engine, precise word-level subtitle alignment, local FFmpeg pipelines, and complex generative AI models. While you can build a lightweight wrapper that transcribes audio with Whisper and lets you delete text to split an audio file, trying to replicate its frame-accurate 4K timeline editor, Studio Sound audio isolation, and voice cloning infrastructure as a solo developer is an exercise in endless frustration.

### What you can't replicate

- Proprietary high-performance WebGL/WebAudio 4K rendering engine
- Enterprise-grade audio separation ('Studio Sound') and real-time voice cloning models
- Seamless multi-track collaboration with sub-millisecond timeline synchronization

## What it does

An all-in-one AI-powered video and audio editing platform centered on text-based editing, transcription, Studio Sound, and generative media features.

### Core features

- Speech-to-text transcription with word-level timestamp alignment
- Text-based editing (deleting text cuts underlying media frames)
- Multi-track audio and video timeline compositing
- Studio Sound audio enhancement and filler-word removal
- AI speech generation, voice cloning, and text-to-speech
- Web-based and desktop media rendering engine via WebGL/WebAudio
- Cloud project persistence and multi-user asset sharing

## The business

### Pricing

- Free: $0 — Basic tier with limited media hours and AI credits.
- Hobbyist: $24/mo — For individual creators needing watermark-free exports and core AI tools.
- Creator: $35/mo — For serious creators requiring 4K exports and stock media.
- Business: $65/mo — For teams needing translation, dubbing, and Brand Studio.

### Funding

$101M raised.
- Seed Round ($5M, Dec 2017)
- Series A ($15M, Sep 2019)
- Series B ($30M, Jan 2021)
- Series C ($50M, Nov 2022)
Investors: OpenAI Startup Fund, Andreessen Horowitz, Spark Capital, Redpoint Ventures

Founded 2017.
Team size: 140–180.

## The hard parts

- Building a frame-accurate 4K browser/desktop video compositing engine without lag or memory leaks
- Exact word-to-millisecond timestamp mapping so editing text instantly synchronizes with cuts on a multi-track audio/video timeline
- Orchestrating heavy ML pipelines for voice cloning, Studio Sound background isolation, and lip-sync video regeneration
- Managing massive video file uploads, chunked transcoding, and streaming proxy generation at scale

## How to vibe code Descript

### Prerequisites

- Node.js (free): Required for running the full-stack TypeScript web application runtime.
- GitHub (free): Version control and repository hosting.
- OpenAI Account (pay-as-you-go): Required for Whisper transcription API access.

### Recommended AI tools

- Claude Code: Best-in-class terminal agent for scaffolding and debugging complex full-stack media applications.
- Cursor: Ideal for fine-tuning frontend timeline components and React UI interactions.

### Stack

- Frontend: Next.js with Tailwind CSS and wavesurfer.js for audio timeline visualization
- Backend: Next.js API routes with FFmpeg WASM / server-side processing
- Database: Turso for lightweight relational data and project metadata
- Auth: better-auth for self-hosted TypeScript authentication
- Other: OpenAI Whisper API for speech-to-text, Cloudflare R2 for media file storage

### Hosting

- Vercel (Hosting the Next.js frontend and serverless API endpoints): $0-20/mo
- Cloudflare (R2 object storage for video and audio uploads with zero egress fees): $0-5/mo

### Build guide

1. **Project Scaffolding & Database Schema** — Initialize the Next.js project with Tailwind CSS, configure better-auth for user authentication, and set up Turso SQLite tables for projects, transcripts, and media assets.

```
Scaffold a new Next.js application with App Router, TypeScript, and Tailwind CSS. Integrate better-auth for email/password authentication backed by a Turso SQLite database. Create database tables for 'users', 'projects' (id, userId, title, createdAt), 'media_assets' (id, projectId, fileUrl, duration), and 'transcripts' (id, projectId, jsonPayload). Ensure clean modular directory layout under src/lib and src/app.
```

2. **Media Upload & Cloudflare R2 Integration** — Build an upload interface that streams audio and video files directly to Cloudflare R2 storage using presigned URLs.

```
Implement server actions in Next.js to generate Cloudflare R2 presigned upload URLs for large audio and video files up to 1GB. Build a drag-and-drop React upload component with a progress bar and file validation supporting MP4, WAV, and MP3 formats. Once uploaded, save the asset reference in the Turso database and trigger a background parsing job stub.
```

3. **OpenAI Whisper Transcription Pipeline** — Integrate the OpenAI Whisper API to transcribe uploaded media files and store word-level timestamp metadata.

```
Create a backend service that downloads media files from Cloudflare R2, sends them to the OpenAI Whisper API with timestamp granularities enabled (word timestamps), and parses the resulting JSON. Store the structured transcript containing words, start times, end times, and speaker segments in the database linked to the media asset.
```

4. **Interactive Text Transcript UI** — Build a React document view that renders the transcript words as editable text paragraphs with active playback highlighting.

```
Build a React transcript editor component that renders words from the database JSON. Implement clickable words that seek an HTML5 audio/video player to the exact start timestamp. Highlight the currently spoken word in real-time as time updates during playback. Support inline text editing to modify transcript text.
```

5. **Text-Based Editing & Media Trimming** — Link text deletions in the transcript document to corresponding time ranges on the media timeline.

```
Implement text-based editing logic where deleting a sentence or word range in the transcript editor automatically marks those time segments as muted or removed in the playback state. Build a basic client-side export preview that skips over deleted ranges during playback.
```

6. **Server-Side FFmpeg Render Export** — Process timeline cuts on the backend using FFmpeg to export a clean, watermark-free audio or video file.

```
Write a server-side FFmpeg processing job in Node.js that takes an original media file and an array of valid time segments (computed after text-based deletions), concatenates the segments using FFmpeg filtergraphs, and outputs a single trimmed file. Upload the rendered result back to Cloudflare R2 and provide a download link to the user.
```

### Cost vs paying

**Starting costs (one-time):**

- Domain name: $12/yr
- AI coding tool subscription (Claude Pro / Cursor): $20/mo
- Total: ~$32 one-time/first month

**Ongoing costs (monthly):**

- Vercel / Cloudflare hosting: $10/mo
- OpenAI Whisper API usage: Pay-as-you-go (~$0.006/min)
- Total: ~$10/mo + API usage

- Paying for the SaaS instead: $35/mo
- Build time: 80-120 hours
- AI tool credits: $40 (Claude Pro / API credits)
- Break-even: Never (built for learning; commercial tool is vastly superior)

## Sources

- [Descript Official Website & Pricing](https://descript.com)