The selfie prompt: your face in 3D from one iPhone photo, and one choice flipped
This is the prompt from our Reel “1 in 8 billion”. You give Claude Code one iPhone Portrait selfie and the five biggest choices of your life. It takes the depth map your phone measured out of the photo, builds your face as a 3D cloud of points, lays your choices out as a road, and flips the one you pick. In a clean Claude Code session with Claude Fable 5.2, it built a working page in about 13 minutes.
The prompt
Fill in your five choices, each as a year and a few words, and the one you’d flip with what you’d have done instead. Keep the rest as it is.
I'm attaching an iPhone Portrait selfie (HEIC): selfie.heic. Build me a short 3D page about my life choices.
1. The depth. A Portrait selfie stores a depth (disparity) map and a person matte inside the HEIC, as auxiliary images. Extract both (on a Mac, a small Swift script: CGImageSourceCopyAuxiliaryDataInfoAtIndex with kCGImageAuxiliaryDataTypeDisparity and kCGImageAuxiliaryDataTypePortraitEffectsMatte, then AVDepthData converted to DisparityFloat32 and AVPortraitEffectsMatte; elsewhere: pillow-heif). Save the photo as JPEG, the disparity as raw float32, the matte as PNG. Don't use a depth-estimation model: only what the phone measured. If the file has no depth map, stop and tell me.
2. The face. One page, index.html, three.js from a CDN (pin the version), no build step. Draw my face as a 3D point cloud: one point per photo pixel inside the matte, placed by its depth (z = 1 / disparity; x and y from the camera's field of view, about 47° across the photo's width for the front camera), coloured from the photo. Make a point just bigger than the gap to its neighbours: the face as sharp as the photo, no background showing through it. When the face is small on screen you may draw every 2nd or 4th point. Soften the edge with the matte. By the silhouette the depth map is blurry: take the depth there from a few samples inside the figure. Fade the bust out at its lower edge. I only have one view, so the face always turns to the camera, wherever the camera is, with a slow sway of under 10° on top.
3. The road. My five biggest choices, in order:
- [YEAR]: [CHOICE]
- [YEAR]: [CHOICE]
- [YEAR]: [CHOICE]
- [YEAR]: [CHOICE]
- [YEAR]: [CHOICE]
Draw them as a glowing road on a dark floor, a ring at each choice with its year beside it, seen from above. My face stands on the road like a pawn.
4. The story, on one timeline of about 40 seconds (space plays and pauses, the arrow keys step, ?t=12.5 in the address opens that second, so any frame can be shown):
- open on my face close up; pull back until it is one dot among thousands on a globe of dots; mark that dot "you"; come back;
- show the road with the five choices;
- stop at each choice in turn: its year big, a one-line caption under it; between stops the points of the face scatter and form again;
- if there is a folder eras/ with pictures named <year>.jpg, show that stop's picture as a cloud of points too, filling the frame under the caption, and let its points fly into the next picture. No pictures yet? Test with placeholders and delete them.
5. The flip. I flip this one: [YEAR], "[WHAT I'D HAVE DONE INSTEAD]". Go back to the road, turn everything after that choice into dim dashes, grow a new branch from it in amber, and tell me in one line where that road leads. Label the line as your guess. End on the question "Which choice would you flip?"
6. The look. Dark background (#05070b), big white sans-serif captions at the top left (below y 240: Instagram covers the top), amber (#FFB224) for the flipped choice. Portrait, 1080 × 1920, so I can record the screen for a Reel.
7. Check your work. Serve the page locally, open it in a browser, take screenshots (headless Chrome with --use-angle=metal --window-size=1080,1920 works) at the start, on the globe, at one stop and after the flip. Look at them and fix what is broken (a face cut in half, text over text, an empty frame) before you tell me it's done.What you need
- An iPhone with Face ID. Its front camera, TrueDepth, measures depth with infrared light when you take a selfie in Portrait mode, and the photo keeps that depth map inside the file.
- The original HEIC file. AirDrop it to your Mac, or use File › Export › Export Unmodified Original in Photos. A messenger usually re-compresses the photo and drops the depth map. If the depth is missing, the prompt tells Claude to stop and say so, so you’ll know.
- A Mac with Claude Code. The prompt reads the depth with a small Swift script, which needs macOS. We ran it with Claude Fable 5.2: type
/model fablein the session. - Google Chrome, so Claude can take screenshots of the page and check its own work.
- Pictures for each year, if you want them. In our Reel every stop on the road shows a picture of that year, made separately with an image model from the same selfie. Put them in a folder
eras/as2016.jpgand so on. Without the folder, the page works without them.
How to run it
- Take a selfie in Portrait mode, in good light, with your head and shoulders in the frame.
- Put it in an empty folder on your Mac and name it
selfie.heic. - Open Claude Code in that folder and paste the prompt with your choices filled in. If you’d like to see the plan first, start in plan mode (how plan mode works).
- When it’s done, open the page it serves. Space plays and pauses, the arrow keys step through, and
?t=12.5at the end of the address opens that second. - To make a Reel, record the screen with the window in portrait.
What happens inside
There’s no AI guessing the shape of your face. The depth comes from your phone: the TrueDepth camera measured how far each part of your face was and stored it in the photo as a disparity map, next to a matte that separates you from the background. Claude extracts both, turns every pixel inside the matte into a point at its measured depth, and colours it from the photo. The rest is three.js on one HTML page, with no build step.
The road, the stops and the flip are your words. The only line Claude makes up is where the flipped road leads, and the prompt makes it label that line as a guess.
What it can’t do
- It’s only the front of your head. One selfie has one view, so there’s nothing behind the face. That’s why the prompt keeps the face turned to the camera wherever the camera goes.
- The edges are the weak spot. The depth map is blurry along the outline of your head. The prompt works around it: it takes the depth there from inside the figure and softens the edge with the matte.
- Your face goes to the model. The photo stays on your Mac, but the screenshots Claude takes to check the page show your face, and they go to the model like everything else in the session.
Where Meowdoro fits
We built Meowdoro, a focus timer around the MacBook notch for people who work with Claude Code and Codex. Thirteen minutes is a good length for a break. Paste the prompt, step away, and the notch tells you when the session is done or needs you. Try it and tell us what’s missing.
Related guides
The prompt is the one we wrote for the Reel. We tested it in a clean Claude Code session with Claude Fable 5.2 on November 10, 2026. Depth capture on the TrueDepth camera: Apple’s documentation on capturing photos with depth.