Your intro, animated and talking
_Proposal plus a working sample. 2026-10-21. Nothing on info.arnao.ai has changed yet._
Try the sample: demo — tap play
What it is
A first-time visitor lands on your portrait card. When your intro plays, the portrait talks with it: mouth, jaw, blinks and small head moves, timed to your real cloned-voice intro ("Hi — this is Byron. Well, a version of him…"). Returning visitors keep today's behavior.
The sample I made tonight
| A · still portrait (recommended) | B · moving portrait |
 |  |
| Your card portrait, animated by your intro audio. Clear mouth shapes. | Uses your existing animated loop (aurora, the reaching hand) as the base. Livelier body, but the mouth moves less. |
| 82 KB (small) · 186 KB (sharp) | 242 KB (small) · 621 KB (sharp) |
- How it was made: your illustrated portrait plus the existing
intro-1 clip in your cloned voice, run through the talking-head tool already installed on the Mini (FasterLivePortrait, free, local).
- Render time: 57 seconds for A and 98 seconds for B, for 10.5 seconds of speech.
- No new platform needed.
How close it gets
- Good: mouth opening, smiles, blinks, nods, and timing that follows your voice. The illustrated style hides most small errors.
- Weaker: lips closing on b, p and m sounds are soft. The motion model was trained mostly on Chinese speech, so a lip-reader would notice; a visitor glancing at it won't.
- Better lip accuracy would need a paid hosted service (HeyGen, Hedra or Sync, roughly $0.10–0.50 per clip and a new account). I don't recommend that for a 10-second hello.
- Not possible today: making the live conversation talk on screen. Animating it in real time needs a GPU video stream, and the Mini manages about 6 frames a second.
Never block a slow connection
| Always loaded | Only if the connection can afford it |
| Portrait still: 20 KB (the card already loads it) | Talking video: 82 KB (most phones) or 186 KB (fast Wi-Fi, sharp screens) |
| Your voice: 88 KB (already shipped today) | |
The rules, all of them working in the sample:
- The video never sits in the page's critical path. It starts downloading only after the page is idle.
- No video at all on Data Saver, 2G or 3G, or a downlink under 1.5 Mbps, or when the visitor prefers reduced motion. They get your voice over the still portrait, which is exactly today's experience.
- Late video is skipped. If the video isn't ready when the voice starts, the voice plays over the still and nothing stalls or shows a black box.
- The voice stays separate. The video is silent and follows the audio, so lip timing is corrected as it plays. If it drifts more than 3 times, the video fades back to the still portrait.
- First visit only, on the bio card while the intro plays. Afterwards the card goes back to its normal loop.
On Safari (iPhone) there's no connection-speed signal. There, the small 82 KB file starts downloading only on the visitor's first touch and is used only if it's ready within about 1.5 seconds.
What it takes to ship
| Step | Time |
| Render all three intro takes (A style), plus optional short "welcome back" clips | ~10 min of Mini time, unattended |
| Wire it into the card: loader, sync with the existing intro player, interruptions, fallbacks | ~4–5 hours |
| Tests: slow-network, Data Saver, iPhone and Android, lights-out and lights-on, tab switches | ~2–3 hours |
| Total | about one working day, $0 in services |
Open questions for you
- A or B? I recommend A: clearer mouth, and 3× smaller.
- Talking "welcome back" clips for returning visitors too, or first visit only? I recommend first visit only.
Self-critique — Fable adversarial pass
Fable's points, and how I'd handle each:
- Weak b/p/m lip closures are what people notice, and B makes it worse, because a lively body draws the eye to a weak mouth. It said ship A only, 3× smaller. Agreed: A is the plan. B stays in the sample only so you can see the difference.
- iPhones give no connection-speed signal, so a bad cellular connection still downloads 82 KB it may never show. Changed: on iPhone and anywhere else without a speed signal, the video only starts downloading on the visitor's first touch (the same touch that starts the voice). It plays only if ready within about 1.5 s; otherwise it stays the still portrait.
- "3 hours" is optimistic for keeping silent video in sync with separate audio across interruptions, tab switches and drift. Agreed: the estimate is now about a day. If the video keeps drifting, it fades back to the still instead of chasing the voice. Both are in the sample.