Vol. I · No. 579Rochester, New York, Thursday, September 24, 2026Developer Tools · Page B3
All workSection B · Page B3

Developer ToolsFrameWrightNew

Agents Assemble, They Never Animate

FrameWright is a marketplace of Remotion video templates that coding agents drive by writing JSON.

The FrameWright homepage at framewright.live
FrameWright, live at framewright.live.Screenshot: framewright.live

AI video tools usually mean a prompt box, a render queue and a bill for every render. I wanted something different for developers who already work in Claude Code or Cursor. FrameWright sells template packs, which are closed design systems for video. Your agent reads the pack's SKILL.md, fills in a JSON manifest, and the template handles all the motion and timing. The MP4 renders locally, so there's no per-render fee.

The core rule sits at the top of the repo: agents assemble; they never animate. Each pack is a fixed catalog of scenes with Zod-validated props and no way to pass in raw styles. That sounds limiting, and it is, on purpose. When an agent can't write animation code, it can't make something ugly. It can only pick scenes and fill them with good content.

When an agent can't write animation code, it can't make something ugly.

Validation is where most of the engineering went. A manifest gets checked at three layers: the manifest schema, each scene's props, and the duration ranges. Every problem comes back at once, so the agent fixes everything in one pass instead of looping on one error at a time. The full agent loop is validate, render stills, self-review against a QA checklist, then render the final video.

The marketplace is a pnpm monorepo: a Next.js 15 site and registry API, the framewright CLI on npm, and 11 template packs. They range from a free 25-scene App Launch pack to Whiteboard, Code Walkthrough, Website Demo and Chat Story. Paid packs return a 402 from the registry until you own them.

Licensing is built so the app never holds a master key. License keys are stored hashed in Supabase and checked through database functions, so there's no service-role key anywhere in the codebase. The CLI signs you in with an email code in the browser. Payments run through Polar in production: $29 a pack or $99 for everything.

Eleven packs in, I have a LESSONS.md with 55 numbered rules for rendering, architecture and copy, things like masking text word by word, getting the math right when transitions overlap, and adding settle guards so slow drift doesn't read as a glitch.

FrameWright also does its own marketing. A Telegram bot running as a systemd service drives Claude Code headless through a daily operating loop, with roles like Scout, Builder, Producer and Publisher. It renders the videos with FrameWright packs and, after they pass approval gates, posts them to TikTok, YouTube and Instagram through Buffer. The first automated posts went out on September 21, 2026, and the bot has 241 passing tests.

There's also a public Claude Code plugin that installs the free App Launch pack as a skill, so anyone can try it from inside Claude Code. The site gallery has about 60 demo videos, all rendered by the packs. My biggest takeaway so far: give an agent a tight system and good rules, and its output starts to look designed.

Graphic

How it works

FrameWright, start to finish, in 6 steps.

  1. Step 1:

    Install

    CLI signs in and pulls the pack from the registry

  2. Step 2:

    Read

    Agent reads the pack's SKILL.md scene catalog

  3. Step 3:

    Write

    Agent writes a JSON manifest

  4. Step 4:

    Validate

    Schema, props and duration checks, all errors at once

  5. Step 5:

    Review

    Render stills and self-review against a QA checklist

  6. Step 6:

    Render

    Remotion renders the MP4 locally

Graphic: The Sahil Bachu

More from The Work

See all 25

Creator Tools

A Telegram Chat That Runs My Instagram

autoreel turns one talking-head clip into a finished, edited Instagram Reel and posts it.

The daily Reels pipeline behind @21stcentury.sahil. It finds topics, drafts scripts in my voice, edits my clip into a reel with Remotion, posts it and sends tool links to commenters. I run all of it from one Telegram chat.

Continued on Page B5

Browser Agents

The Job Hunt Agent That Refuses to Hit Submit

JobOps finds jobs, tailors a resume for each one and pre-fills the application, then stops and waits for me.

A job-search command center that runs on my laptop. It pulls postings from five sources, scores them with headless Claude, tailors a LaTeX resume per job and pre-fills applications in Chrome. It never submits. I review and send every one.

Continued on Page B9

Generative UI

A Canvas of Widgets You Order in Plain English

An infinite canvas where an AI agent turns a plain-English request into a live widget wired to your own data.

Ask for something like a card that summarizes your unread emails, and an agent researches, designs and places a live widget on an infinite, zoomable grid. Connectors for Gmail, Calendar, Slack, GitHub, Linear and Notion feed it real data.

Continued on Page B11