Hi everyone,
I’ve been practicing backend/frontend separation and modular design concepts on Exercism, and I tried applying what I learned to a small experimental project: a simple web-based video editor mimicking cepcut
I built a basic structure using React + FFmpeg.wasm, with modules like:
- a project store (clips/timeline state)
- a rendering engine (FFmpeg processing)
- simple UI components (upload, preview, export)
While the basic flow works, I’m struggling with how to properly design the architecture for scaling it beyond a simple MVP. Specifically:
- How should I structure a timeline system that supports multiple tracks cleanly?
- What patterns are best for managing media state in a non-trivial editor?
- At what point should rendering logic be separated into worker threads or services?
Right now everything feels tightly coupled once I start adding effects and multiple clips.