Creator Playbooks2026-05-0311 min read

The Tweet That Started VibeChopper: Konstantin, Diffusion Studio, and the First Reply

VibeChopper started as a reply to Konstantin Paulus's tweet about Diffusion Studio (YC F24). A founder's note on the open-source repo that became the first commit of our chat-driven editor.

AI narrated podcast • 12:12

Listen: The Tweet That Started VibeChopper: Konstantin, Diffusion Studio, and the First Reply

AI-generated narration of "The Tweet That Started VibeChopper: Konstantin, Diffusion Studio, and the First Reply" from the VibeChopper blog.

0:00 / 12:12

Disclosure: this narration is AI-generated from the published article text.

A glowing chrome reply-tweet card hovering above a magenta CRT timeline, the reply arrow pointing back to an open-source repo card

A glowing chrome reply-tweet card hovering above a magenta CRT timeline, the reply arrow pointing back to an open-source repo card

Overview

A glowing chrome reply-tweet card hovering above a magenta CRT timeline, the reply arrow pointing back to an open-source repo card

A glowing chrome reply-tweet card hovering above a magenta CRT timeline, the reply arrow pointing back to an open-source repo card

1. The reply

A year and change ago, on a night I don't remember the date of but remember the feeling of, I was scrolling through tweets about open-source video tools.

A guy named Konstantin Paulus posted about a project called Diffusion Studio. The pitch was simple: a browser-based video editor. No download. No plugin. No five-gigabyte install. Open source. WebCodecs under the hood. You could load it in a tab.

I read the tweet twice. I clicked through to the repo. I read the README. I went back to the tweet. And I replied with something like:

what if this, but you could just talk to it.

I'm being honest about that "something like." I've searched my own timeline and I can't surface the exact wording — Twitter's search is unkind to older replies. But the shape of the reply is what I remember, because I remember the next morning, when I sat down at my keyboard and opened a new repo, and the first commit of what would eventually become VibeChopper was a stub of a file that said // chat → tool call → timeline.

That reply was the first commit. The repo just wasn't open yet.

I want to write this post the way I'd want someone to write about me, if I were on the other side of it. Specific. Grateful. Honest about where the projects diverge.

Stylized mock-screenshot of a reply tweet — a chrome speech-bubble panel with a quoted parent tweet about a browser video editor and a reply that says 'what if this, but you could just talk to it'

Stylized mock-screenshot of a reply tweet — a chrome speech-bubble panel with a quoted parent tweet about a browser video editor and a reply that says 'what if this, but you could just talk to it'

2. Who Konstantin is

Konstantin Paulus is a software engineer based in San Francisco. His GitHub handle is k9p5. His bio reads, plainly: Chief idea guy @ Diffusion Studio (YC F24). Four pinned repos under the diffusionstudio organization, all the work of someone who builds in public.

Before Diffusion Studio, Konstantin worked on signal-processing devices for a large German manufacturer. When WebGPU shipped in browsers, he started building tools that used it — the kind of engineer who watches a new browser API land and immediately asks what does this make newly possible? Most of us read the changelog and move on. He read the changelog and started a company.

Diffusion Studio was accepted into Y Combinator's Fall 2024 batch (YC F24) — the YC company page lists the batch and Konstantin's own bio repeats it. The company is based in San Francisco and was founded in 2023.

I won't pretend I know him. We've exchanged a handful of replies, never had a call. But I've read enough of his code to know the shape of his thinking. He builds primitives. He documents them carefully. He picks the boring-and-correct technology — WebCodecs, TypeScript, a permissive license — over the flashy-and-fragile. He doesn't oversell. That's a rare combination, and a generous one, because primitives are what other people get to build on.

Stylized mock-screenshot of a GitHub repository card for diffusionstudio/core, with star count, language tag, and a one-line description, all rendered as a chrome neon panel

Stylized mock-screenshot of a GitHub repository card for diffusionstudio/core, with star count, language tag, and a one-line description, all rendered as a chrome neon panel

3. What Diffusion Studio actually is

I want to be precise here, because writing about other people's projects often flattens them into whatever the writer wants to talk about next. I don't want to do that.

Diffusion Studio is a browser-based video creation engine. The flagship repo, diffusionstudio/core, is a fast, browser-based video compositing engine powered by WebCodecs. Written in TypeScript. Licensed MPL-2.0. As of this writing it sits at around 1.2k stars, 136 forks, 179 commits.

Concretely: it gives a developer the primitives to build their own timeline-based media application in the browser. Declarative compositions. Layering. Transitions. Keyframe animations. Text and captions. Audio processing. Hardware-accelerated rendering via WebCodecs. The hard parts — encoder, decoder, timeline math, canvas-to-frame mapping — are done.

There's a second repo worth calling out: diffusionstudio/agent, an agentic video editing framework at around 246 stars. That one is closer in shape to where my own thinking went next. Konstantin and I are clearly thinking about adjacent problems, from adjacent angles. More on that in section 5.

There's also a hosted product, diffusion.studioProfessional-grade video editing, in your browser. The consumer-facing application built on top of the open-source engine. Worth using on its own.

Diffusion Studio did a Show HN titled A pure TypeScript library for editing videos in the Browser. The top-of-thread reactions were the right ones: real engineers asking sharp questions about codec coverage and SharedArrayBuffer headers. Konstantin answered them.

4. The bet that became VibeChopper

So what was my reply, actually? The "what if you could just talk to it" reply. What did I think I was suggesting? Try the product the reply built

Konstantin had built the room. A whole video editor, in a browser tab, no install. It was a good room. You could walk into it and edit a video.

But the room still had the same furniture every editor has had for thirty years. A timeline. A media bin. A razor tool. A keyboard shortcut you had to learn. You walked in, you sat down, you did the work the way humans have done it since Avid shipped in 1989.

My reply was a question about furniture. What if the primary surface of the room wasn't a timeline at all — what if it was a chat? What if you walked in, said trim the first five seconds of the cold open, hold on her face when she laughs, drop a lower-third when the founder introduces herself, and the room cut the video?

That was the bet. Not "build the room better." Build the new way of being in the room. The timeline doesn't go away — it's still there underneath, the way a code editor doesn't go away when you use Cursor. It stops being the primary surface. The primary surface is the directing voice in your head, finally talking to the timeline directly.

I didn't have a name for it for a long time. I rewrote it three or four times. The first version had no AI in it at all — just a structured-input form that pretended to be chat. The second had a real LLM but no tool calls, so it could describe an edit but not make one. The third version is roughly what shipped. Frame-aware. Transcript-aware. Tool-calling. Receipts on every cut.

The product is called VibeChopper now. The mascot is Gnarles. The chat is the front door. The timeline is still in the back, because anything that pretends a timeline isn't necessary is lying to you about how editing works.

But the front door is a conversation. And the conversation started with a reply.

::

A neon-lit room with a wide CRT showing a browser-based video editor, the room itself labeled 'THE BROWSER', a small open door labeled 'CHAT' on one wall

A neon-lit room with a wide CRT showing a browser-based video editor, the room itself labeled 'THE BROWSER', a small open door labeled 'CHAT' on one wall

5. Where the projects overlap

Here's the part where I want to be careful, because it's easy — when you're writing about your own thing — to make it sound like everything else in the space is somehow not as good. I'm not going to do that.

Diffusion Studio and VibeChopper overlap in three big ways.

Browser-first. Both are committed to the idea that the browser is the right place for a modern video editor. Not a desktop install. Not a phone app pretending to be a desktop. Konstantin made the bet a year and change before I did. He was right. We followed.

WebCodecs as the foundation. When you build a browser video editor, you either fight the platform or you ride it. WebCodecs is the platform riding. Diffusion Studio core is built on it. So is the rendering layer of VibeChopper. Different code, same instinct.

Frame-aware. Both projects treat individual frames as first-class objects. Most legacy NLEs treat frames as a consequence of clips; modern browser editors treat them as the unit. That's a real shift, and it's a shift Diffusion Studio articulated before I did.

There's a fourth overlap: open-source instinct. Diffusion Studio's core engine is MPL-2.0. VibeChopper's product code isn't open source, but the harness and tool-call protocol around our chat-driven editor are documented in public in our developer blog. The instinct to show your work is part of why both projects exist.

Side-by-side diagram contrasting Diffusion Studio (an SDK box with a developer plugging modules into a timeline engine) and VibeChopper (a chat bubble driving an end-user timeline)

Side-by-side diagram contrasting Diffusion Studio (an SDK box with a developer plugging modules into a timeline engine) and VibeChopper (a chat bubble driving an end-user timeline)

6. Where the projects diverge

Now the honest part.

Diffusion Studio is an SDK for builders. VibeChopper is a chat-driven product for creators. That's the cleanest way to say it, and it's the way both of us, I think, would describe the difference.

If you're a developer who wants to build your own browser video tool — your own niche editor for podcast guests, your own social-video composer, your own templated wedding-clip generator — Diffusion Studio core is what you reach for. You import the modules. You wire up the timeline. You decide what the UI looks like. The engine sits under your application the way a database sits under a website. It's assumed to be touched by an engineer.

If you're a creator who wants to make a cut tonight — a person with footage, a deadline, and a tired wrist — VibeChopper is what you reach for. You open a tab. You drag in your shoot. You type make a 60-second highlight reel of the best moments and add a lower-third on the founder. You watch the timeline build itself. You direct, you don't edit. The chat is the surface. The timeline is the consequence.

Two different products, two different audiences, two different success metrics. I don't want to flatten Diffusion Studio into "the thing VibeChopper wraps." It's not. It's an engine, a good engine, and dozens of builders should be using it directly because their product idea isn't VibeChopper. Konstantin's audience is the people who would, in another era, have built on AVFoundation or FFmpeg. He gave them a browser-native equivalent.

VibeChopper's audience is downstream. We're the people who don't want to build the editor — we just want the cut to be done by midnight.

There's a real divergence in what we're each chasing next. Konstantin is building toward an infinite-canvas, Figma-for-video creative suite — diffusion.studio describes combining the spatial freedom of a design tool with the precision of a modern NLE. That's a beautiful direction and it's not ours. We're going deeper into chat: every panel collapsible, every tool-call documented, every cut explainable in plain English. Two shapes of the future of editing. Both real.

7. Open-source gratitude

I want to end with the part that doesn't get said often enough in our corner of the industry. Star Konstantin's repo free

Every product is standing on someone's shoulders. Pretending otherwise is a small lie a lot of founders tell because they're afraid the size of their own contribution will be measured against the size of the giants beneath them. It's a bad lie. It makes the industry meaner than it needs to be. And it makes us forget the people whose generosity is the only reason any of this exists.

VibeChopper is standing on a lot of shoulders. Chrome and Firefox shipped WebCodecs. The TypeScript team built the language. React built the UI primitives. The transformer architecture and the public model weights came from a research lineage I had nothing to do with. And on the video-editing-in-the-browser side specifically, Konstantin Paulus and the Diffusion Studio team built the proof that this was even possible. They open-sourced their work. They documented it. They answered questions on Hacker News. They made me feel like the bet I was making — that you could put a chat panel on top of a browser editor and the whole thing would still be fast and correct — was a bet worth making.

I owe them. Saying "I owe them" is just the correct thing to do. Not in a way that diminishes what we did on top. In a way that names the part we didn't do.

So: thank you, Konstantin. Thank you to whoever else is on the Diffusion Studio team. Thank you for shipping that tweet a year ago, for putting the core engine under MPL-2.0, for taking the time to respond to a stranger's reply, for keeping the door open. We built a different product. We built it because you built the room.

If you're reading this and you're a builder — go look at diffusionstudio/core. Star it. Fork it. Build on it. The license is permissive. The code is good. You will build a different product than VibeChopper, and that's the point. Open-source primitives are how you get a generation of products instead of one.

::

If you're a creator — open VibeChopper. The product the reply built is, finally, the product I imagined that night. You don't have to know how the room was built to use it. You just have to walk in and start talking.

The reply was the first commit. The repo was the foundation. Everything since has been carrying water for a bet we made on a tweet a year and change ago, when somebody else built the room and somebody else asked what would happen if you talked to it.

We're still finding out.

— Steve

A glowing stack of chrome record-platters labeled with open-source dependencies, supporting a small magenta timeline on top — a visual metaphor for standing on shoulders

A glowing stack of chrome record-platters labeled with open-source dependencies, supporting a small magenta timeline on top — a visual metaphor for standing on shoulders

Steve Moraco at a neon-lit keyboard at night, mid-typing a reply, a glowing chat panel reflected in his glasses, a sweatband-and-whistle Gnarles silhouette watching from the corner

Steve Moraco at a neon-lit keyboard at night, mid-typing a reply, a glowing chat panel reflected in his glasses, a sweatband-and-whistle Gnarles silhouette watching from the corner

A neon marquee sign reading 'THANK YOU, KONSTANTIN' above a chrome timeline that fades into a sunset over a grid horizon

A neon marquee sign reading 'THANK YOU, KONSTANTIN' above a chrome timeline that fades into a sunset over a grid horizon

Try the workflow

Open every feature from this post in the editor

These panels collect the features discussed above. Sign in once, finish your profile if needed, then the editor opens the first highlighted surface and walks through the tutorial.

Start full tutorial