Skip to main content
Jonathan Andrei
Back to all posts
Dec. 20256 min read

Turning a Phone into a Director Workflow

Most AI generators want you to prompt one image at a time. Shot Supervisor flips it: a project breaks down into scenes, scenes into shots, and Bria FIBO's deterministic JSON-native control keeps the visual language consistent across all of them.

React NativeBria FIBOGenerative ImageMobile

The problem with prompt-by-prompt generation is that you can't shoot a film with it. You can shoot a moodboard. Shot Supervisor is what happens if you let a director's workflow drive the prompts, projects, scenes, shots, with the model choices serving the structure instead of being it.

Shot Supervisor app preview on mobile.
Shot Supervisor: a director-style mobile tool for planning, generating, editing, and exporting shots.

Why I built it

Professional visual production has a real gap between creative intent and technical execution. Today, creators jump between tools, prompts, exports, and manual tweaks just to keep shots consistent across a project. Prompt-based generation is powerful but unpredictable, and it breaks down quickly when precision, repeatability, or professional standards like HDR, bit depth, and color space matter.

Bria FIBO's JSON-native, deterministic control felt like the missing piece. Instead of fighting prompts, I wanted a tool where shots are planned, generated, edited, and exported with production-grade control, anywhere, on a phone.

Project → scene → shot

An LLM-driven breakdown turns a brief into a structured tree. Bria FIBO's deterministic generation keeps the look reproducible across that tree, the same character at the same hour of day stays the same character. The mobile-first UI means you can edit in line at the table, on a train, or on set.

Projects tab listing multiple shot plans.
Projects tab. A new project optionally fans out into up to 5 AI-generated shots via the LLM breakdown.

What it does

Three tabs map the workflow: Projects, Shots, Editor. Projects holds a name, description, and optionally up to 5 auto-generated shots from the project description. Shots is where each entry gets a title, prompt, and an optional reference image from camera roll or an in-app photo. Editor is the post step, on the same device.

Editor controls that actually matter on set

  • Background removal and prompt-driven background replacement, plus background blur.
  • HDR controls (custom endpoint): exposure, contrast, highlights, shadows.
  • LUTs: None, Cinema (Filmic), Teal & Orange, Vibrant.
  • Color spaces: sRGB, AdobeRGB, DCI-P3, Rec2020.
  • Bit depth: 8, 10, 12, 16-bit.
  • Product editing via the Bria Product API.
Editor screen with HDR, LUT, color space, and bit depth toggles.
The editor: HDR tone control, LUTs, color space, bit depth, all on a phone.

Real post-production on a phone

HDR tone control, LUTs, color space selection, high bit-depth processing, multi-format exports (JPEG, PNG, TIFF, EXR). The standards aren't a checklist, they're what makes the output usable downstream by anyone with a real grading pipeline.

Export screen with format options including JPEG, PNG, TIFF, EXR.
Exports go to device or email, in JPEG, PNG, TIFF, or EXR, so the file lands in whatever grading tool comes next.

How I built it

React Native and TypeScript on the client, Supabase for auth and the project / shot database, and a set of Vercel-hosted endpoints in front of Bria so secrets never sit on the device: bria-generate, bria-edit, bria-product, export-hdr, hdr-tone-map, email, and llm-breakdown. The llm-breakdown endpoint uses DeepSeek-V3 to convert a free-text project description into a structured shot plan that Bria's generate API can consume directly.

Splitting generation, editing, and HDR processing into modular endpoints keeps each one independently scalable and lets the HDR layer extend beyond default API constraints while staying compatible with Bria's pipeline.

What was hard

  • Designing a professional editing workflow on mobile without overwhelming the screen.
  • Balancing creative freedom with structured, deterministic control.
  • Making HDR and high bit-depth feel intuitive instead of technical.
  • Writing custom HDR endpoints that extend the defaults while staying compatible with Bria.

What I learned

  • Professionals don't want better prompts, they want better controls.
  • FIBO's structured generation unlocks workflows that prompt-only models can't.
  • HDR, color space, and bit depth matter deeply in real production environments.
  • JSON-native generation pairs extremely well with agentic and automated pipelines.

What's next

  • Real-time HDR preview in the editor.
  • Shot consistency auditing across projects.
  • Histogram-based photo editing.
  • MCP-powered Bria chat for conversational edits.
  • Video support.
  • Move the remaining Supabase client-side envs fully server-side.
Built with Bria FIBO, DeepSeek-V3, React Native, TypeScript, Supabase, and Vercel.
Related project

Shot Supervisor: Professional AI Shot Planning & Post-Production

View the project