Problem
Short-video feeds routinely OOM-kill on real phones, and a naive backend that proxies video bytes falls over under large uploads. The goal: a complete TikTok-style app (record, edit, and swipe an endless ranked feed) built solo end-to-end without those failure modes.
My contribution
Building the app end-to-end: native video capture, editing, a ranked feed, and a backend for upload, storage, and transcoding.
Engineering decisions
- Presigned uploads send video directly to object storage rather than through the API.
- Server-side ffmpeg processing normalizes uploaded clips.
- Bounded player buffers and disposal of graphics resources address memory use during editing and playback.
- Crash reports support investigation during development.
Outcome
Implemented the capture, editing, feed, and upload pipeline in a personal app that is still in development. Work includes investigating memory use and crashes during video editing.
What I learned
Video work needs explicit ownership of player buffers and graphics resources. I test capture, editing, and playback as separate flows.
