Skip to content
MEET DOLLYAI™

Not a chatbot. An AI director that runs your whole production.

DollyAi™ is layered into every app in the suite — script, shotlist, editor, draw, AI artist, animate, breakdown, budget, calendar, call sheet, cast, locations, props, vehicles, shoot, diary, and the producer desk. She reads your whole project as one object and gives context-aware answers, not generic responses.

100+
AI actions
Typed prompts, every one tailored to its surface
Every
App, every page
Dolly is mounted on every route in the suite
16
Tables pulled live
Parallel project-context fetch on every action
9
Image surfaces in scope
Frames + character / location / prop photos + AI gens

How Dolly Thinks

A co-pilot with your whole project in context.

Most AI tools are a chat window with a prompt box. Dolly is four engineered layers working in lockstep.

Context fetch

Sees your whole project in one call

Every Dolly action starts with a single fetchProjectContext() call that pulls 16 related tables in parallel — projects, script, breakdown elements, cast, characters, costumes, locations, props, vehicles, equipment, crew, shoot days, schedule, call sheets, budget lines, diary entries — through a safe() wrapper so a hiccup in one query never tanks the bundle.

  • 16 tables × parallel Promise.all
  • Unified character continuity graph (4-way merge)
  • Scene linkage preserved across every surface
  • safe() wrapper — zero cascade failures
Streaming responses

Server-Sent Events, token-by-token

The global /api/dolly/app-chat route streams GPT-class output back over SSE so you watch Dolly think in real time. Bulk shotlist generation uses NDJSON per-scene streaming — each scene's shotlist lands as soon as it's ready, with per-scene credit accounting for transparent billing.

  • SSE streaming for chat + long actions
  • NDJSON per-scene streaming for bulk parses
  • Per-action credit gating (lib/ai/credits.ts)
  • maxDuration 120–300s for heavy lifts
Style lock

Your style bible is a first-class object

Upload a handful of references or pick our Mitchell signature house style, and Dolly locks that look for the whole project. Every frame generation reads artist_style_sync, applies buildImagePrompt + buildNegativePromptSuffix, and returns on-model output via our proprietary engine — not drift-prone prompt alchemy.

  • artist_style_sync table persisted per project
  • buildCalibrationContext + shouldRecalibrate
  • selectRandomRefImages for variance
  • moodToPromptFragment for tonal swings
Action catalog

100+ structured AI actions — not free-form chat

ai-service.ts defines a 100+ entry AIAction union with a paired ACTION_PROMPTS map. Every action is a named, typed, prompt-engineered operation — from 'Rewrite scene for pacing' to 'Suggest coverage from beat' to 'Draft deal memo from character notes'. Generic chat is the fallback, not the product.

  • Typed AIAction union in lib/ai/ai-service.ts
  • ACTION_PROMPTS map — one tailored prompt per action
  • generateAI() + generateAIStream() two code paths
  • scene-bridge.ts translates context between modes

One Dolly. Seventeen surfaces.

Every app has a purpose-built Dolly panel.

The AppAIMode union in components/app/app-ai-panel.tsx pairs each module with its own action set, cursor contexts, and prompt catalogue — so Dolly in Cast is genuinely different from Dolly in Budget.

Script

22 cursor-context types, ACTION_PROMPTS per scene beat, character & dialogue analyzers, continuity checker, coverage report

Shotlist

Shot suggestion engine, lens/angle grammar, bulk screenplay → NDJSON streaming parse, per-scene credit accounting

AI Artist

Style-locked frame generation, project-context sync, calibration re-runs, mood prompt fragments, negative-prompt suffixes

Cast

Character continuity graph, casting coverage, availability-aware suggestions, deal memo drafting

Characters

Unified character → scene graph, costume continuity, reference image selection, arc summaries

Locations

Scene-to-location matching, permit checklists, travel-matrix tips, scout recommendations

Props

Hero-prop detection per scene, continuity flagging, hire checklist generation

Vehicles

Picture-car extraction from script, insurance/plate/driver prompts, safety callouts

Shoot

Gear recommendations per shoot day, crew gap detection, readiness flags

Diary

Daily Production Report drafting, BTS organiser, scene-completion summarisation, incident notes

Producer

Auto-assembles the DPR and Weekly Cost Report by 6am every morning, surfaces budget variance the night before, predicts overtime risk per call sheet

Calendar

Day-order optimizer, stripboard balancing, cast-availability-aware scheduling

Call Sheet

Pickup/meal/weather fill, nearest-hospital lookup, crew call-time variance detection

Breakdown

Full-script batched breakdown, INT./EXT. regex scene split, parallel batches of 4, 12-category color coding

Budget

Variance watch, line-by-line cost-saving suggestions, template selection by production type

Draw

Composition suggestions, blocking help, reference sketches, stick-figure quick blocks

Animate

Timing suggestions from script cadence, transition selection, shot-length variance analysis

100+ structured actions

A taste of what Dolly can actually do.

Each pill is a typed action in ai-service.ts with its own prompt, credit cost, and output shape. This is a sample — the full catalogue keeps growing.

Rewrite scene for pacingTighten dialogueCheck character continuityCoverage reportBeat sheet from premiseSides for today's castScript → Shotlist (bulk)Suggest shot grammarLens/angle pass per sceneGenerate storyboard frameStyle-locked re-draftCalibrate new styleBreakdown from scriptIdentify hero propsVehicle extractionSchedule from stripsDay-order optimiserDOOD balanceCall sheet from shoot dayWeather + hospital fillCrew gap scanBudget variance watchLine-item cost cutForecast vs actualDPR draft for todayScene completion summaryBTS tag suggestionsLocation-to-scene matchPermit checklistTravel matrixDeal memo draftCharacter bible updateArc summary

…AND 67+ MORE

Image engine

Style-locked frame generation.

Our image engine is not a generic text-to-image API with a nicer UI. It's a proprietary DollyAi™ system built around the concept of a project-wide style bible. Pick our Mitchell signature artist style default, or fill any of 4 custom artist slots with your own reference bible (up to 30 images per artist), and Dolly locks that look for every frame the rest of the project produces.

  • artist_style_sync — a persisted style bible per project
  • buildImagePrompt + buildNegativePromptSuffix
  • selectRandomRefImages for controlled variance
  • moodToPromptFragment for tonal control
  • shouldRecalibrate + buildCalibrationContext
  • Character continuity graph joined automatically
  • Vision-QA scoring on every generation
  • On-model every time — no drift between batches

Under the hood

The engineering that makes it feel effortless.

lib/dolly-engine.ts 540 lines
├── fetchProjectContext(projectId, db)
// 16 tables in parallel via safe()
├── buildChatPrompt(context, bundle)
├── buildImagePrompt(prompt, ctx, bundle)
├── buildNegativePromptSuffix()
├── aspectRatioToSize() / moodToPromptFragment()
├── shouldRecalibrate / selectRandomRefImages
└── buildCalibrationContext / renderContextBlock
lib/ai/ai-service.ts 951 lines
├── AIAction union · 100+ entries
├── ACTION_PROMPTS map · tailored per action
├── generateAI() · non-streaming
└── generateAIStream() · SSE streaming
16 AI API routes
/api/dolly/app-chat · streaming SSE · 16-table ctx
/api/shotlist/ai-parse-bulk · NDJSON · maxDuration 300s
/api/breakdown/ai · parallel batches of 4 · 300s
/api/write/ai · streaming AI · 100+ actions
/api/artist/generate · style-locked frames · 60s
…and 11 more.

Character continuity graph

Every character, every scene — one unified graph.

lib/characters/get-characters-by-scene.ts performs a 4-way merge of characters, cast_members, breakdown cast tags, and character_costumes into one continuity graph — exposed at GET /api/characters/scenes. Dolly reads from this graph in every relevant prompt, so generated frames and script suggestions stay on-character.

characters

Character profiles, bible, photo library

cast_members

Casting status, actor details, deal memos

breakdown cast tags

Per-scene tagged character appearances

character_costumes

Costume continuity per scene

All four merged on the fly — no snapshotting, no duplication, no drift.

What that actually gets you

A change in one app ripples through the whole production.

Edit a scene heading

Breakdown re-tags, schedule rebalances, call sheet re-renders, storyboard re-orders

Rename a character

Cast, character bible, costume continuity, deal memos, generated-frame references all update

Swap a location

Schedule, permit checklist, travel matrix, call-sheet hospital fill all recompute

Lock a style bible

Every future frame — Draw, AI Artist, Animate, Storyboard Editor — renders on-model

Bulk-parse the script

Shotlist streams in scene-by-scene, each scene metered for credits and editable

Tag a new prop

Props app, continuity flag, scene refs, hire checklist all sync

Stop context-switching. Start directing.

Dolly is included on every tier. No upgrades, no "Pro AI" paywall. Every action metered transparently per credit, not bundled under a fake unlimited banner.

Public release June 2026 — now accepting payment · waitlist is free

Private beta is rolling out — ~20% off via annual billing

Join the growing waitlist. No payment today — discount activates at launch.

Join the waitlist