Work
Archived2026

Expo Media Engine

Video editing in Expo, without the per-minute bill.

Expo Media Engine — Video editing in Expo, without the per-minute bill.

A native video-editing engine for Expo, built to close a real gap: every option for React Native was either on-device FFmpeg (buggy, huge, and since deprecated for this), a barebones open-source library, or a proprietary SDK costing thousands of dollars a year. Expo Media Engine aims at CapCut-level editing — full timeline, waveforms, filters, transitions and its own real-time rendering engine — running natively via AVFoundation and MediaCodec, no proprietary SDK behind it.

Project Yoked needed real video editing — not a trim tool, something closer to CapCut. Every option I could find for React Native and Expo was one of three bad choices: FFmpeg running on-device, which is buggy, enormous, and has since been deprecated for this kind of use; a handful of open-source libraries with barely any features; or a proprietary SDK that costs thousands of dollars to license. None of it fit, so I wrote the engine myself, in native code.

The goal was the full picture: multi-track timeline editing, waveforms, audio mixing, overlays, filters, transitions, AI-assisted tools, and its own real-time rendering engine for live preview, export and compression — all in one package, exposed through a single Expo module over AVFoundation on iOS and MediaCodec/OpenGL ES on Android.

It has been on hiatus since Project Yoked was shut down. Last I checked, the core still mostly works, but it needs more time than I currently have to give it — this does not make any money, so it gets whatever is left over.

What it does

  • Multi-track composition with real-time preview
  • Nine filters and eight transitions
  • Native AVFoundation and MediaCodec, no proprietary SDK
  • H.264 and H.265 export, on device

Built with

  • Kotlin
  • Swift
  • TypeScript
  • Expo Modules API
  • AVFoundation
  • MediaCodec
  • OpenGL ES

MIT licensed. Requires a dev build — Expo Go is not supported.