Work

MML ONE Mobile

2026

An AI film platform, rethought for the phone as one conversation.

RoleHead of Product (Founding Team)
CompanyMultimodal Media Lab
TeamSolo: product, design, engineering
TimelineOct 2026 – present
StackFigma · Swift · SwiftUI · Rive
StatusBeta on TestFlight
Three iPhone screens from MML ONE: the assistant asking which pace the film should have, a voice call with the glass assistant character, and the first version of a film inside the conversation

Overview

MML ONE on the web is a desktop workspace: seventeen modules around a canvas. Almost none of that fits on a phone.

The iPhone app keeps one part of it, the assistant, and gives it the whole screen. You describe a film by typing or on a voice call. The assistant plans the clips, makes them, and stitches them into a film. Every step stays in the conversation, where you can point at it and change it.

The iPhone app is a solo project, from the product decisions to the Swift. It is a native app with its own visual design, and it runs on the same projects and the same assistant as the web platform.

Numbers

10interaction schemesTwo rounds of five, each a working prototype
86screens and statesThe full-app prototype, in light and dark, each checked in English and Chinese
48states of one conversationEach one a scene in the native build, compared with the prototype
11days to TestFlightKickoff on October 19, first beta build on October 30, 2026

01 · The question

A film has to fit in a conversation

On the web, MML ONE gets its control from structure: a project graph, review states, a canvas. I had cut the chat-style loop there on purpose, because a chat approves nothing. A phone leaves room for little else. So the brief was not to shrink the workspace. It was to make a conversation hold a production: clips, versions, and changes aimed at one clip.

The model

Three rules for the thread

One line per step

Thinking becomes Thought for 6 s. Making 4 clips becomes Made 4 clips. A step is one line that changes in place, so the thread reads as a record of the production and not a stream of replies.

Every version stays

Each cut of the film stays in the thread, in order and at full strength. You can go back to Version 1 and keep working from it.

Change one clip

Tap a clip on the film’s strip and say what to change. Only that clip is remade, the others are reused, and the film is stitched again as a new version.

Project thread: a message that refers to Image 1 and Image 2, a collapsed Thought for 6 s line, and a card asking Which Pace Do You Want with two options and Write My OwnA question first
Project thread after the answer: Plan set for 4 clips, Made 4 clips, Stitched the final film, then a film card labelled Version 1 with a four-part stripVersion 1
Clip 2 selected on the film card's strip, and the composer holding a Clip 2 tag with the text slower, and end on her turnChange one clip
One project from start to finish in the thread: a question before any work starts, the first version, then a change aimed at Clip 2.

02 · The process

Five answers to each question, twice

After several iterations the flow was clear and every component was correct, and the design still had no point of view. So I stopped refining one design and made five, each built on a single idea, inside one interactive prototype where any component could be swapped between them. Then I chose piece by piece.

Round one

The whole app, five ways

Viewfinder treats the app as a camera with precise controls. Companion is making a film with someone. Board turns shots into cards you can drag. Script makes text the tool. Theater lets the picture fill the screen.

I took home, calls, and settings from Companion, the composer and results from Board, and the icons from Theater, then rebuilt the mix as one design system with one rule: the assistant is light, and the work is cards.

Five phones side by side, labelled Viewfinder, Companion, Board, Script, and Theater, each showing the same project with a voice call minimized in a different way
Round one, one component of eleven: a voice call after you minimize it. From the left: a timecode on the Dynamic Island, the composer turned into a call bar, a curtain from the top, a caption strip, and light on the screen edge.

Round two

The project screen, five more

The combined design had one weak screen, and it was the most important one. The finished film arrived as a large card in the middle of the conversation, a row of range controls sat above the composer, and the assistant answered in a single line. It read as a results page.

I redesigned only that screen, again five ways: Log, Checklist, Reel, Cards, and Screening. Log shipped. It is the plainest of the five, and the closest to how the assistant already reports its work on the web.

Five phones side by side, labelled Log, Checklist, Reel, Cards, and Screening, each showing the moment Version 1 of the film is ready
Round two, the same moment in all five: Version 1 is ready. The five schemes read the same data and run on the same simulator, so a block from one can be combined with a block from another.

Decisions

What the comparisons settled

Settings is a page

A sheet says temporary. Settings has depth and people move around in it, and a sheet’s swipe to close fights the scrolling list.

A call does not float

People minimize a call to look at the film, and a floating window covers it. The call shrinks to a strip at the composer and hands off to the Dynamic Island outside the app.

References get numbers

No tags for character, style, or first frame. Images are numbered and the sentence points at them: Image 1 walks to the cliff edge.

Prototype to native

The prototype is the specification

The prototype is what the app is checked against. Each of the 48 conversation states exists as a scene in the native build, a script captures the two side by side, and a test fails if the two lists drift apart.

The same conversation state twice: the prototype on the left and the native app on the right, both in the middle of making four clips
Prototype on the left, native build on the right, in the middle of making four clips. The differences between the two are the work list.

03 · The product

What is on the phone now

Three places: a home where a film starts, a project where it gets made, and a player where versions are compared. One presence runs through all three, the assistant.

The assistant

A voice and a body

A film can be talked through instead of typed. A call is a full input: the assistant hears the change and makes it, and the result lands in the same thread. Dictation has its own button, because saying one sentence and having a conversation are different things.

The assistant began as an orb of light and became a small glass figure, so that it has a character of its own both at full screen and as a 22-point avatar.

Home: the glass assistant, the greeting Good afternoon, a project that needs a decision, a film that is ready, and example prompts above the composerHome
Full-screen call on the project Coastal Reverie: the glass assistant, the line I am here, what would you like to change, and Mute, Type, and End buttonsOn a call
The same call minimized to a small strip above the composer while the thread and a finished film stay visibleCall minimized
Home with a project waiting for a decision, a call at full screen, and the same call reduced to a strip while the thread stays readable.

The character

Twenty-four motions, none of them random

The figure has ten states, eight responses, and six idle moments. Its state always comes from the app: it listens while you talk, thinks while a plan forms, works while clips are made, and waits when a question needs an answer. It never celebrates a film that is not finished.

Each kind of motion drives its own parts of the body, so a blink, a stretch, and a wave can overlap without fighting each other. The mouth follows only the assistant’s own voice.

The assistant character: a small figure of champagne glass with a wide rounded head and an apricot glow inside Idle
State, set by what the app is doing
Responses, played once
Idle moments, about ten seconds apart in the app
The same Rive file the app ships, running here. Pick a state, then play a response on top of it.

The player

A new version never replaces an old one

The player pages between the film and its clips. Versions sit in one list with the version in use marked, and switching back takes one tap.

Player showing the final film of Coastal Reverie, Version 2, with page dots, a scrubber, and Save and ShareFinal film
Versions sheet in the player: Version 2 marked In Use above Version 1, with the note Every version is kept, you can switch back any timeVersions

Outside the app

A film takes minutes to make, and nobody should have to hold the app open for it. The parts of iOS that reach people elsewhere do that work.

Live ActivitiesLock Screen and Dynamic IslandProgress while clips are made, and the timer and controls of a call.
NotificationsReady, or waiting for youA push when the film is done, or when the assistant needs a decision.
WidgetsHome Screen and Lock ScreenRecent projects, one tap from where the phone already is.
Share sheetFrom Photos into a projectPictures or a video go straight in as references.
ShortcutsSiri and the Shortcuts appStart a film or open a project without opening the app first.
PurchasesCredits and membershipsBought in the app through the App Store.

The store page

The App Store screenshots follow the app’s own order: start, call, conversation, references, refine, versions, share. I produced three complete sets and chose this one.

App Store screenshot on amber: Create Your Next Film, with the call screen on a tilted phone
App Store screenshot on coral: Call Your AI Creative Partner, with the call screen in light appearance
App Store screenshot on ivory: Start With a Conversation, with the question card in the thread
App Store screenshot on mint: Bring Your References Along, with two reference photos beside the phone
App Store screenshot on teal: Refine One Shot at a Time, with Clip 2 lifted out of the film card
App Store screenshot on sand: Find the Version You Love, with the versions list in the player
App Store screenshot on deep green: Create. Save. Share., with the finished film card

The honest part

What I cut

The asset library, the reference tags, and the large result card with its three buttons. On a phone, references come from the camera roll and clips from the project itself, so each of these only made the conversation harder to read.

What I got wrong

I called the first complete design finished while its most important screen was still cluttered. It took using it to see that, and a second round to fix it.

What a real phone showed

A Lock Screen activity kept saying a film was generating days after it had finished. Saved state had started it and nothing could end it. Now only a live connection can start or update one.

What I took from it

A conversation can run a production when every line in it is a record: what was decided, what was made, and which version it became.