Mulholland

From screenplay to screen — one integrated creative toolchain.

In Development Film & Creative Production DesktopWeb

Features

  • Structured screenplay authoring (Blot Up)
  • Visual shot development (DumbShow)
  • Production management API (Grumble)
  • Verified media ingestion (Rushh)
  • Photo management (Photon)

Tech Stack

RustQt 6React Router v7Python

Privacy Principles

  • All project files stored locally with optional encrypted sync
  • No cloud dependency for core creative workflows
  • Media files never leave your machine unless you choose to export
  • Zero telemetry in the creative tools

The Origin

Mulholland started from frustration. Every film production tool on the market either costs a fortune, locks you into a cloud ecosystem, or both. Worse, many of them quietly harvest your creative work — metadata, project structures, even content — to feed analytics pipelines and AI training sets.

We wanted a different kind of tool. One where the filmmaker owns every byte of their work, from first draft to final cut.

The Architecture

Mulholland is built as a Rust workspace — a monorepo where each major capability lives in its own crate. Blot Up handles screenplay authoring with a structured document model. DumbShow provides visual shot development. Grumble manages the logistics of actual production. Rushh handles verified media ingestion with cryptographic provenance. Photon manages photo assets with a Qt-based interface.

The Rust core means these tools are fast, reliable, and run entirely on your machine. The web interfaces (React Router v7) are optional layers for collaboration, not requirements for basic operation.

Privacy by Architecture

Mulholland doesn’t phone home. There’s no analytics SDK buried in the dependencies, no “anonymous usage data” collection, no license server that tracks when you open the app. Your screenplay lives on your filesystem. Your shot plans live on your filesystem. Your media files live on your filesystem.

If you want to collaborate, that’s opt-in — and when we build sync, it will be end-to-end encrypted.