Mobile consumer apps / creator toolsSep 2026

VidWeave: On-Device Video Export That Keeps Edits Accurate

VidWeave is a mobile video studio for stitching clips, photos, and sound into shareable stories. The editor itself was not the hard sell. Trust was. Users trim, crop, slow clips, and tweak colour, then expect the export to match what they saw on the timeline, whether they pick 720p, 1080p, or 4K for Instagram, YouTube, or something else. On a phone that means local rendering. If crop math, letterboxing, or tone shifts when the output size changes, the product feels broken even when the preview looked fine.

Technologies

Flutter · Dart · Provider · FFmpeg (ffmpeg_kit_flutter_new · x264) · Material 3 · path_provider / local JSON storage · SharedPreferences · Android / iOS

01

Problem

What had to be solved.

VidWeave is a mobile video studio for stitching clips, photos, and sound into shareable stories. The editor itself was not the hard sell. Trust was. Users trim, crop, slow clips, and tweak colour, then expect the export to match what they saw on the timeline, whether they pick 720p, 1080p, or 4K for Instagram, YouTube, or something else. On a phone that means local rendering. If crop math, letterboxing, or tone shifts when the output size changes, the product feels broken even when the preview looked fine.

02

My responsibility

What I owned.

I designed and shipped the product end to end: Flutter app architecture, editor tooling, and the on-device export pipeline that turns a timeline into a gallery-ready file.

03

Hard part

Where it got difficult.

Keeping one edit accurate across multiple target resolutions. Cloud render would have been easier on CPU and thermals, but on-device kept media private, worked offline, and fit a v1 ship. That meant dealing with device heat, memory on long timelines, codec quirks on Android and iOS, and cancel / progress UX when a render runs for minutes. The technical trap was treating resolution as a final resize. Once you do that, crop and colour get computed against the wrong canvas.

04

What I built

The work that shipped.

A Flutter app with a dark Material 3 editor: media picker, timeline tools (trim, split, speed, volume, crop, filters, text, stickers, subtitles, music, canvas), and a real FFmpeg export path. The pipeline normalizes each clip into a uniform segment (same codec, size, fps) while applying that clip’s edits, concatenates those segments, then writes the final file to the device gallery. Target size is baked into per-clip normalization so crop, letterboxing, and colour filters run against the export canvas the user chose, not against whatever dimensions came off the camera roll. Overlays, motion transitions, and music mixing are still areas to harden; captions still need a real speech-to-text backend.

05

Result

What changed.

A shipped mobile studio where the same 9:16 project exported at 1080×1920 and 720×1280 is the same edit, scaled correctly, not two different creative interpretations. The core bet held: local render that respects the timeline at any resolution. Store builds are live on the App Store and Google Play.