Original Summary

Hi HN! <a href="https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-make-hello" rel="nofollow">https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-make-hello</a><p>I&#x27;m Quentin. I&#x27;ve just published my longterm project - excited to share! m0saic is a video compiler. Typescript programs define an explicit spatial layout via a string DSL (m0), and configure what goes into each independent rect over a shared timeline. This media intent IR gets lowered to a series of ffmpeg invocations, which produce the intended media artifact deterministically.<p>I got interested in this originally when I was younger and made Call of Duty montages on YouTube. I made compilations and whatnot and found it tedious to do some of the &quot;structural&quot; work I suppose (like making a 2x2 layout, other effects). I had saved project files to help me make similar style content over time, but found myself wanting more control. Around then sometime I stumbled into ffmpeg and got into media production and automation as a hobby.<p>I later designed a string DSL for layout, answering roughly how could I represent any arbitrary set of rectangles in an arbitrary canvas in one blob? This led to the m0 DSL. If interested, below link has some of my original derivation records <a href="https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-substack" rel="nofollow">https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-substack</a> Or if you just want to see a quick visual example, here is a somewhat complex example (a github commit graph geometry) that shows the idea: <a href="https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-layout-year" rel="nofollow">https:&#x2F;&#x2F;m0saic.io&#x2F;go&#x2F;hn-layout-year</a><p>Anyways, that layout language is the base, and I&#x27;ve built a template based media program on top. There&#x27;s a CLI, Web Editor, and Desktop Editor. No external dependencies other than ffmpeg and resvg for the CLI. Templates are specific media programs that define input props and produce the IR the compiler can turn into pixels.<p>I&#x27;ve been exploring different verticals for usecases (more on site). I believe headless automation and CI do well with this workflow. Templates are low-cost once written, and can encode specific media operations into essentially a deterministic func from props to pixels. I have not set out to create an agentic video editing platform, though the compiler framing of this project I&#x27;ve found to play really well with LLMs. I&#x27;ve been able to have reproducible, debuggable and structured working sessions as opposed to a one shot result. Read more here: <a href="https:&#x2F;&#x2F;m0saic.io&#x2F;agent" rel="nofollow">https:&#x2F;&#x2F;m0saic.io&#x2F;agent</a><p>Some of what I think makes this different: - Layout is a small string algebra and it is closed under composition. There is only integer arithmetic, so the same string resolves to the same rects on any machine and any language that implements the grammar. - This compact &quot;blob&quot; form is suitable for travel across contexts, and can inherently be interpreted the same across them. - Templates improve through composition - once good primitives exist, higher level templates can compose them into more complex results. - Can be installed headless on a Linux worker, or a rich visual editing experience exists for developer&#x2F;end user in the desktop Electron app. Underlying render functionality of templates remains the same, different audience.<p>The product has open source components - I&#x27;ve open sourced everything except for the compiler itself and the web&#x2F;desktop app. Website has links to npm and GitHub.<p>Thank you for reading - I&#x27;d love feedback and thoughts!


  • 情报分类:技术学习与提效
  • 分类依据:内容涉及技术、AI、软件工具或工程实践
  • 信息来源:Hacker News 新项目
  • 发布时间:2026/9/21 20:36:26