I built Obsidian Remotion because I wanted a Markdown note to behave like a Remotion sketchbook. The practical goal was pretty simple: write prose, drop in `ts` or `tsx` blocks, and get live, type-checked Remotion previews in a side pane without cramming React and Remotion into the plugin bundle itself. That separation ended up being the whole project. I wanted the plugin to stay relatively small and handle editor integration, diagnostics, preview lifecycle, and UI. I wanted the vault to own `node_modules`, so the actual React and Remotion runtime stayed under the user's control. In practice that felt much less cursed than trying to smuggle a whole frontend runtime into an Obsidian plugin and then hoping version skew would somehow be fine.