Production log.

Framefly is built in public. This is what has been built, measured and decided so far, with the real numbers, and what's left before launch day. Updates go out on X.

The road to launch day

The interface is done and the hard parts of capture are measured. What remains is wiring the real pipeline behind it.

  • The interface, every screen, with realistic data
  • Frame-by-frame capture, measured and fixed
  • A first real exploration run by the agent
  • The full pipeline, end to end: exploration, storyboard, voice, 2x capture and render
  • A blind listening test between four voice providers
  • A presenter bake-off with the same voice and portrait
  • Beta videos for the first test screening apps
  • The acceptance test: Framefly films its own launch video

It's called Framefly now

The working name had to go. Framefly is what the product does: an agent that moves through your app like a fly on the wall, and turns what it sees into frames. The key-light lime the interface was already built around turned out to be the color of a firefly.

The new mark is a viewfinder locked on a subject, with its flight path drawn as onion-skinned frames. Same day: a launch date, October 28, and this site.

BrandLaunch date

Why Framefly doesn't screen-record

The same 20-second scenario was captured five ways. Every real-time method stuttered: 20 to 34 unique frames per second, with freezes of up to 0.9 seconds, because the browser renders and encodes on the same CPU the page needs. Real-time capture also silently dropped 2x density back to 1x.

Deterministic capture fixed it: virtual clocks and one rendered frame per 1/60 s of page time gave 55 unique frames per second, no freeze longer than one frame, and true 3200x1800 frames. The first attempt came out with a blank main area, because CSS animations froze with the clock. The fix steps every running animation forward on each frame.

The same frame zoomed 2.5 times: browser recording on top, blurry and blocky; deterministic 1x in the middle, clean but soft; deterministic 2x at the bottom, crisp.
The same frame under a 2.5x camera zoom. Browser recording, deterministic 1x, deterministic 2x.
55 fps vs 2017 ms vs 933 msMeasured

The agent's first real exploration

Pointed at the Framefly interface itself, the agent mapped six screens, ranked them by importance, and wrote a six-section storyboard of about 46 seconds with voice-over lines and more than 40 replayable steps. It took 5 minutes 39 seconds.

Along the way it found two of its own broken selectors by replaying its plan, and fixed them. It refused every destructive or financial button and listed each one. Its weak spot: it walked back and forth between screens instead of one continuous path, which wastes camera time. That's the next thing to fix in the planner.

5 min 39 s6 screensGuardrails held

Timing comes from real speech

Storyboards first assumed narration at 150 words a minute. Real synthesized speech ran at about 190. So section lengths now come from the generated audio, never from an estimate, and the voice is generated before a single frame is filmed.

The voice leaderboards also moved this year, so the provider will be picked by ear: the same six lines through four candidates, labels hidden.

190 wpmResearch

Every screen of the product, done

22 screens with realistic data and the main flow working end to end in the browser: type a prompt, watch the agent explore and get blocked on "Delete", edit and approve the storyboard, then follow voice, shoot, edit, QA and delivery. Dark and light themes, a command palette and keyboard shortcuts throughout.

The Framefly workspace with its sidebar, a prompt box, items waiting for a decision and renders in production.
22 screensDesign

Follow the build to launch day.

Every number, every decision, posted as it happens.

Follow on X Notify me