Absorption v2 — "It becomes you"

Proposal · 2026-08-29 · written by Claude Fable 5 (plan/creative), build targeted at Claude Opus 5

App: https://clone.arnao.ai · source /Users/byronarnao/clone-mvp · worker /Users/byronarnao/clone-absorb


0. What happened today (already live)

ChangeStatus
Default chat model → Claude Opus 5 (premium is now the default experience)✅ deployed
Non-Byron cost cap → $1.00 (FREE_CENTS=100; Byron/admin unmetered; approval flow can still grant more)✅ deployed
OPENROUTER_API_KEY added to prod (premium multi-model routing now possible)✅ deployed
Absorption worker relaunched on the Mini (dead since the Aug 22 reboot — every absorption since queued forever)✅ running
Twin-chat schema fix: worker now writes owner/published/corpus so the twin can actually speak as its person (was 403 "not your clone")✅ live
Plausible analytics on clone.arnao.ai (snippet + site registered)✅ live
Anonymous-spend hole closed: no-session visitors were fully unmetered — now IP rate-limited (8/min, verified 429 in prod) and pinned to the cheap model; premium requires sign-in where the $1 cap applies✅ verified
⚠️ Found in verification: prod chat is on the Gemini fallback — the Anthropic API key is out of credits. Opus 5 premium engages the moment credits are topped up (open decision #5)⚠️ needs Byron
Smoke test passed: photo + 8.7s cloned-voice audio → lip-synced talking-head mp4 in 47.9s, fully local on the M4 Pro (FasterLivePortrait-MLX). The old Wav2Lip pipeline needed ~7.5 minutes for the same clip — ~9× faster✅ proven

Smoke-test artifact: [byron-talkinghead-quality.mp4](assets/byron-talkinghead-quality.mp4) (also at file:///Users/byronarnao/clone-smoketest/byron-talkinghead-quality.mp4)


1. Critique of the current app (honest)

The pipeline is better-built than it looks — it worked end-to-end exactly once (Aug 7: real Nano Banana avatar, real Chatterbox hello, 58.9s, ~$0.13) and then died of operational neglect, not design flaws. The real defects:

  1. **The interview feels endless but isn't.** It's a hardcoded array of 10 questions with an early exit after Q5 — but the UI never shows progress, so it reads as infinite. A counter is not enough; the fix is making progress visceral (§2.3).
  2. Voice recording starts at SCAN with zero indicator. The recorder runs through scan, capture, and interview; the only "listening…" dot appears mid-interview and is wired to the wrong thing (speech recognition, not the recorder). Byron noticed this cold — it's the app's biggest trust defect.
  3. No face focus. MediaPipe FaceMesh is already tracking 468 landmarks, and none of that is used to tell the user the face is what's being absorbed. The background stays fully visible.
  4. The endpoint is anticlimactic. "Absorbed." + a static avatar. The clone never speaks to you in your voice as the finale — the one beat that would prove the premise.
  5. Silent twin. Twin replies are text-only; the older /c/:id surface speaks every reply, the flagship absorption surface speaks never.
  6. Voice floor unenforced. The 18–20s clean-speech minimum was designed and never wired; the Aug 7 run cloned from 6.0s of audio. Explains "not great" voice quality.
  7. Fidelity dial under-claims. 4 rungs shown, 5 designed; "Reactive (mirrors your movement)" is implemented and working but never surfaced.
  8. Operational fragility. The worker dies on every reboot (TCC blocks cron/launchd) and nothing notices. This is what actually killed the app for 3 weeks.
  9. Hygiene: DEV_LOGIN_CODE backdoor still set in prod (its own header says delete it); README 4 weeks stale; api/avatar.js dead code.

2. The experience: walking up to a mirror that takes you in

Design target: phone-first, one hand, zero wasted pixels. Every stage is one full-bleed screen with at most one instruction and one action.

2.1 Face focus — "it's the face being absorbed"

The moment FaceMesh locks (landmarks already streaming):

2.2 Recording honesty — REC from the first frame

2.3 A finite, visible interview — 8 questions, adaptive down to 6

Grounded in Stanford's generative-agents result: a single finite structured interview reproduced people's real answers at ~85% of their own test–retest consistency — beating trait quizzes and data dumps (Stanford HAI, genagents). Endless questions aren't just annoying, they're scientifically unnecessary.

2.4 Staged encoding — the clone finishes cooking while you're still talking

Today everything renders after the interview. Instead:

2.5 Talking head everywhere (proven today)

FasterLivePortrait-MLX (repo, MIT, Apple-native) replaces the Wav2Lip path in ~/avatar and joins the worker: every twin reply can be a ~5×-real-time rendered clip of the user's own face speaking. Fidelity ladder becomes honest and complete: Text → Voice → Reactive → Talking head → Live face (HeyGen seam stays as the paid "Live" rung until local realtime matures).


3. Mirror — the killer test app

mirror mode: you, talking to yourself. Split screen: live camera (you) on the left, your clone's talking head on the right. You ask anything; both of you answer — you out loud, it in your voice a beat later. The product demo, the QA harness, and the philosophical gut-punch are the same feature.

4. Deploy pieces of yourself — the agent layer

The absorbed bundle (persona + voice + face + mannerisms) becomes a deployable unit. Three use cases, strongest first:

  1. Stand-in: "send my clone to this meeting." Google Meet's official Media API is receive-only (docs) — so presence = a browser bot with fake mic/cam, which is exactly what open-source joinly (MIT) does today: joins Meet/Zoom/Teams, listens, and speaks through any OpenAI-compatible TTS endpoint — our Chatterbox slots straight in. Phase 1 (buildable now): audio-only stand-in with your voice + portrait tile. Phase 2: idle-loop fake-webcam video. Phase 3: real-time lip-sync via a rented GPU running LiveTalking (~$0.34/hr on RunPod). UI: a "Deploy" sheet on the twin — paste a Meet link, set a brief ("listen, answer questions about my SPIRES work, take notes, never commit me to anything"), get a transcript + what-I-said report after.
  2. Direct Line: the clone answers the front door. Visitors to clone.arnao.ai meet your talking head live — recruiters ask real questions, it answers from persona + your public record, and escalates the good ones to you via Signal. Ties directly into Career Triage and the brand front door. This is the always-on deployment that costs pennies (metered at $1/visitor).
  3. The Double: your clone reads your dailies. The Signal AM podcast, delivered as a 60-second talking-head clip of you — shareable, on-brand, and generated from a pipeline that already exists end-to-end on the Mini.

5. Premium model routing (OpenRouter — live key in prod)

Per the fresh model research (see refreshed https://benchmarks.arnao.ai):

TierModelWhy
Default (= premium, everyone)Claude Opus 5 — $5/$25#1 EQ-Bench creative Elo (2105); best persona embodiment; cheaper than the Opus 4.8 it replaced
Persona wildcard (A/B)MiniMax M2-Her — $0.30/$1.20purpose-trained companion/roleplay model; 1/25th the cost — the $1 cap goes 25× further
Prestige toggleClaude Fable 5 — $10/$50for Byron's own clone + showcase moments
Router/classifierGPT-5.6 Luna — $0.20/$1.20follow-up classification, fidelity scoring
Cost notenew-tokenizer Claudes emit ~30% more tokens/word — the $1 cap ≈ 40–60 Opus 5 turnsfine for a taste, converts to approval requests

6. Platform plumbing (mentor patterns, copied faithfully)

7. Build plan (Opus 5 executes; Fable has done the creative)

PhaseScopeEst.
P0 — Absorption v2§2 complete: face-focus composite (half-res, vignette fallback), REC chip + waveform, 8-Q adaptive interview w/ visible progress + absorption %, voice floor, staged early-encode + ≤6s first line + holding beat, worker heartbeat → honest UI states, metering fix (chat 2¢ / absorb 15¢), 5-rung dial, talking-head render in worker (swap ~/avatar pipeline), README refresh, delete api/avatar.js1 build day
P1 — Mirror + Clone Card§3 turn-based mirror + fidelity scoring; realtime-puppet behind a flag; shareable 10s Clone Card w/ slug + QR (§8)1 day
P2 — Platform§6 feedback/beacon/dailies/CI-CD/VERSION.md + worker liveness in fleet health½ day
P3 — Deploy-yourself§4.2 Direct Line, then §4.1 joinly Meet stand-in (audio)1–2 days
VerifyFull external-vantage user flow per phase (entry→auth→absorb→twin speaks→cap enforcement negative test) before "done"standing

Open decisions for Byron

  1. Remove DEV_LOGIN_CODE from prod? (its own header says yes; Google auth is live; I left it untouched)
  2. Cloud-GPU premium rung: fal.ai OmniHuman photoreal at $0.16/sec of video — offer as paid tier, or stay 100% local?
  3. Chatterbox → Turbo + Multilingual v3 upgrade (same MIT family, streaming-first) — test next to current voice before swapping?
  4. Meet stand-in: green-light P3 now or after Mirror ships?
  5. Anthropic API credit top-up — the fleet key is out of credits (blocks fable-critique skill, Gia Signal synthesis on Fable, and any API-side Claude call). One tap: https://console.anthropic.com/settings/billing

8. Self-critique — Fable adversarial pass

(Run in-session by Fable 5. The API-based critique pass is blocked: the Anthropic API key's credit balance is too low — same unblock flagged Aug 2. Top-up restores the fleet's Fable pipeline, including this skill and Gia's Signal synthesis.)

What the critique caught, now integrated:

  1. The finale beat was over-promised. "Voice ~60s + face ~50s fits inside 3–4 questions" fails whenever answers come fast. Fixes now in §2.4: the first line is capped at ≤6s of audio (guarantees <40s render), and if the clone still isn't ready at the last answer, a designed 45-second holding beat plays — the reactive avatar mirrors you while "finding your voice…" — then degrades honestly to text-first with the voice arriving mid-conversation. The refusal to substitute generic TTS stands.
  2. Definitive call — the wow moment must never depend on the Mini. Resolved: never block, degrade honestly, upgrade live. Concretely: the worker writes a heartbeat blob every cycle; absorb-status exposes it; the UI distinguishes "still cooking" from "the forge is cold" (today both render as fake patience); worker-down becomes a fleet-health headline in the next AM podcast. The Aug 22 three-week silent death becomes structurally impossible to repeat.
  3. The $1 cap under-meters by ~2×. Opus 5 at $5/$25 with the new tokenizer's ~30% overhead ≈ 1.7¢ per real chat turn vs the 1¢ flat charge; absorption's true cost was 13¢ vs 8¢ charged. P0 now includes COST.chat: 2, COST.absorb: 15 — so the cap means what it says.
  4. Phone performance honesty. FaceMesh + particles + waveform + a per-frame blur composite is a lot for mid-range phones: the blur mask renders on a half-resolution canvas, and the whole face-focus effect degrades to a simple vignette below 24fps. Typed-answer fallback stays first-class (mobile SpeechRecognition is unreliable, especially iOS).
  5. Scope discipline. Mirror is the point (it's the QA loop and the demo). Meet stand-in is the scope-creep risk — it stays strictly last (P3b), behind Direct Line, and ships audio-only first.

Bold idea the draft missed — the Clone Card: the absorption finale mints a shareable 10-second vertical clip — your talking head, saying one line you type — behind a share slug + QR (voice.arnao.ai's library pattern, reused). Every absorbed user becomes distribution. Cost: one extra render (~$0, local). Added to P1 alongside Mirror.

9. Research receipts

Avatar: FasterLivePortrait-MLX · FLOAT (better quality, CC-NC — non-commercial only) · SadTalker (legacy fallback) · SOTA-but-CUDA: EchoMimicV3, HunyuanVideo-Avatar, InfiniteTalk · cloud: fal OmniHuman, RunPod 4090 $0.34/hr

Voice: Chatterbox Turbo/v3 · Kyutai Pocket TTS (real-time streaming on CPU — the live-conversation engine) · Qwen3-TTS (quality challenger) · license landmines: F5-TTS, Fish/OpenAudio, IndexTTS-2 (non-commercial / gated)

Twin architecture: Second-Me (hierarchical memory, Apache) · WeClone (chat-log LoRA for surface style; AGPL) · clonellm (MIT RAG+trait skeleton) · genagents (the finite-interview science)

Meet presence: joinly · Attendee · Meet Media API is receive-only


Links

WhatLink
Live app (Opus 5 default, $1 cap live)https://clone.arnao.ai
Smoke-test talking head (you, local, 47.9s)[byron-talkinghead-quality.mp4](assets/byron-talkinghead-quality.mp4)
Model landscape (refreshed today)https://benchmarks.arnao.ai
Engine repohttps://github.com/ivanfioravanti/fasterliveportrait-mlx
Meet bot frameworkhttps://github.com/joinly-ai/joinly
Interview sciencehttps://hai.stanford.edu/news/ai-agents-simulate-1052-individuals-personalities-impressive-accuracy