Particles, camera moves, and product proof

How to make an assistant app launch video

Lead an assistant film from abstract particles into useful answers, with a stable camera, deliberate holds, and an original identity.

Complete 1:14 silent film. Free to watch. Aster is a fictional app. Inspired by Google’s Gemini launch film.

Build a complete launch film for Aster, a fictional assistant app. The finished composition introduces a new identity, demonstrates a school-email summary, carries a pet photograph through a mobile caption request, and introduces a more capable edition. It runs for 2,212 frames at 30000/1001 frames per second: 73.807 seconds at 1920 × 1080.

Inspired by: Google’s Gemini launch film. This tutorial studies its sequence, typography, changes of scale, and transitions. Aster, Muse, Robin, Pip, Maple Grove School, and the example interface are fictional. The downloadable project uses a native pointed flare, a four-color A monogram, and distinct editable app symbols. One pet photograph is a 448 × 286 crop from frame 1348 of the reference film; it restores the photographic texture used in this study and is credited in the project’s asset record. The camera, phone, desktop, text, and controls are rebuilt in React and SVG. No source video or soundtrack is included.

The worked project is silent. Follow the same production order when you adapt it: decide the sequence of ideas, build and review the visuals, then write any narration to those visuals. Add audio only after the important visual landings are stable.

The full film and the first three lesson sections are public. The complete lesson and editable source project are included in your one-time purchase of the 20cuts Creation System.

What you will make

The film begins with short phrases whose motion explains their meaning. Letters experiment, selected text gets written, scattered letters resolve a problem, and a cloud of ideas becomes one clear phrase. A page turns to reveal a product announcement. Muse becomes Aster. The identity leads into desktop UI, then one specific piece of work establishes what the app does.

The second half follows a phone through a complete example. Pip’s photograph appears in a camera, becomes an attachment, becomes a prompt thumbnail, and stays visible above the caption response. A product-menu symbol then becomes the entrance to Aster Advanced. Four capability cards accumulate before the film closes on the desktop and mobile product together.

You will learn to separate camera movement from changes inside a surface, time words at exact frames, preserve one piece of content across interface states, build a particle-to-type transition, and inspect failures that a contact sheet can conceal.

Download and run the example

Download and unzip the Aster project attached to this lesson. You need a computer with Node.js 22 or later, npm, and enough free space for the installed packages and rendered video. The project includes React 19.2 and Remotion 4.0.488. You do not need an API key, a paid image service, or access to our production repository.

Open a terminal in the unzipped project folder and run:

npm install
npm run check
npm run dev

The first command installs the project’s dependencies. The second checks its TypeScript source. The third opens Remotion Studio. Select AsterLaunch, move the playhead to frame 0, and play the film once without pausing. Then render the complete MP4:

npm run render

The package’s render script writes the full silent film to its out folder. Keep the terminal open until encoding completes. A browser preview that works does not prove that the whole film can render; the complete export checks every frame.

The source files are organized around responsibilities:

File inside the downloadResponsibility
src/videos/tutorial-aster/entry.tsxComposition ID, dimensions, frame rate, and duration
src/videos/tutorial-aster/Video.tsxWhole-film sequence, cameras, animated typography, particles, and transitions
src/videos/tutorial-aster/surfaces.tsxDesktop, phone, keyboard, camera, response, native controls, and generic app symbols
src/videos/tutorial-aster/identity.tsxThe shared pointed flare, four-color monogram, and distinct app symbols
src/videos/tutorial-aster/photo.tsxOne photograph component shared by all phone states
public/assets/tutorial-aster/pip-reference-photo.jpgThe credited pet photograph crop
THIRD_PARTY_NOTICES.mdSource-image, software, and font credits
src/videos/tutorial-aster/motion.tsTiming helpers and the runtime frame/ledger audit
src/videos/tutorial-aster/ledger.jsonEvery beat’s frame interval and implementation notes
src/videos/tutorial-aster/source-times.jsonThe precise presentation clock preserved by this exercise
src/videos/tutorial-aster/colors.tsThe shared color tokens
src/videos/tutorial-aster/particle-targets.jsonSampled points used by the Aster particle transition

Make a copy of the download before editing. Render the untouched project once. You now have a known starting point and a finished file to compare against your changes.

Read the full beat map before changing the film

Frame numbers below are zero-based and inclusive. The time shown is the start frame divided by 30000/1001. Adjacent rows account for every frame once; individual objects may begin or end on either side of a descriptive boundary. That overlap is intentional.

FramesStartBeat
0–600.000sExperimenting
61–832.035sMuse
84–1202.803sTo becomes write
121–1554.037sWrite emails
156–2035.205sSolve problems
204–2606.807sBrainstorm depth field
261–3198.709sAnd now
320–37010.677sNext chapter page turn
371–41312.379sToday Muse is becoming
414–46913.814sParticle rebrand
470–51115.682sLogo enters chrome
512–62017.084sDesktop hello
621–64420.721sEverything wall
645–68621.521sAster orbit
687–72822.923sEmail prompt
729–79824.324sEmail response
799–85226.660sMore stretches
853–90828.462sNew app
909–94430.330sPhone home
945–102531.532sPhone introduction
1026–107634.234sSupercharge
1077–112635.936sPhone home and input
1127–115937.604sPhoto camera
1160–117838.705sPhoto attach
1179–128939.339sCaption request
1290–134143.043sCaption answer
1342–138744.778sReaction orbit
1388–143946.313sNot all
1440–147148.048sIntroducing
1472–151849.116sAdvanced portal
1519–163850.684sAdvanced UI reveal
1639–167454.688sCapable sparkle
1675–170155.889sReasoning title
1702–173656.790sReasoning card
1737–177057.958sCoding title
1771–181159.092sCoding card
1812–184060.460sAnd more title
1841–190361.428sImages and roleplay
1904–195163.530sAccess bends into arc
1952–199465.132sCore circle
1995–209366.567sExperience end slate
2094–221169.870sAster close

Continue making Aster

The rest of the build is inside.

Get the complete walkthrough and editable source for this film, plus all 4 launch-film tutorials in the 20cuts Creation System. Pay $29.99 once, with a 30-day money-back guarantee.

Explore the complete system ↗

What you will learn

  • Form type from deterministic particles.
  • Separate the camera’s motion from the interface’s motion.
  • Carry an assistant’s answer into a colorful identity reveal.
Aster’s opening resolves an abstract particle field into a readable idea. Fictional example.
Aster’s opening resolves an abstract particle field into a readable idea. Fictional example. View full size ↗
A photographed pet carries one caption request through the fictional assistant’s mobile interface. Fictional example.
A photographed pet carries one caption request through the fictional assistant’s mobile interface. Fictional example. View full size ↗

Inside the full tutorial

  1. Build a deterministic particle field
  2. Reveal the assistant and its prompt
  3. Time camera moves around answers
  4. Carry the result into the identity
  5. Inspect the frame ledger and render

Continue the lesson and download the editable source with your 20cuts Creation System purchase.

An independent educational study by 20cuts. The credited company did not produce or endorse this example.

How to make an assistant app launch video | 20cuts