Film Writer

A connected workspace for developing film worlds, linking characters and locations, and planning scenes and shots.

Creative toolsAI
Film Writer gallery of the 15 locations for Post-Collapse Montreal, each with its concept image
The app running locally with the Post-Collapse Montreal world loaded: the Locations gallery. Images are generated concept art from the film's image pipeline.
Status
In development, runs locally
Tools
Next.js, PGlite, Drizzle, shadcn/ui, React Three Fiber

A tool for developing films where the world comes first: characters, props, locations and history, with the screenplay growing out of them. Characters, props, locations, events, scenes and shots are all one kind of Object, so adding a new kind of thing is data entry rather than a deploy.

Moving through the world: Locations as a gallery and as masonry, the Robots, then one prop with its image and 3D model. Recorded locally at 1.25x speed.

Decisions

Everything is an Object

Objects differ by where they sit and which fields they carry; the code has a single Object type. Navigation is exactly two levels: a category in the top bar, a subcategory in the sidebar, then the objects.

Object page for the electric guns prop, with its canon note, a 3D model of the railgun and its concept image
One object page: a prop from the World category, with its canon note, its concept image and a 3D model of the same railgun.

Capture first, file later

Drop an image, a note or a voice memo, and the model proposes where it goes. Nothing is filed until you confirm, and a failed analysis stays in the inbox with a retry.

Capture inbox with a proposed destination and its confidence, an item still being analysed, and one that timed out
The capture inbox: a proposal waiting to be accepted, one still analysing, one that timed out. Storybook fixture.

Editing structure never deletes work

Categories, subcategories and fields are editable in the app. Removing one never destroys the objects inside it.