Updated Jul 12, 2026 · Affirmology_AppExperience_MasterPlan_v1.md
Built 2026-07-11 (Cowork, Jeff's supercharge session). This doc is the LEAD for the app experience
workstream: it synthesizes Jeff's 7/11 download (three voice notes + the reports/help addendum) with
everything already decided and built across the workspace, so this chat can drive while Jeff works
with Code. It does NOT fork the roadmap: build order still follows
Affirmology_AudioPossibilities_Map_v2.md (Wave 1/2/3); this doc is the UX and organization layer
on top of it.
Reads with: Affirmology_AppProduct_Principles_v1.md (START THERE: the product principles from the
brand work, 7/10), Affirmology_BrandMessaging_Synthesis_v1.md (positioning: a DAILY ALIGNMENT APP,
comp set Calm not Co-Star), Affirmology_AppExperience_NorthStar_Vision.md (the why),
Affirmology_AudioPossibilities_Map_v2.md (the what and when),
CLAUDE OUTPUTS/Affirmology/Affirmology_Gamification_v1.html (constellation seed),
Affirmology_FoundingPreview_and_Hub_Spec_v1.md (what is live this weekend).
Standing rules apply throughout: everything chart-driven, style shared content never shared, all audio through our engine with QC, no em dashes, retention through real felt value never anxiety.
Four principles from the brand work govern every screen in this doc (AppProduct Principles, 7/10): 1. The pull is being SEEN, never the streak. Gamification is scaffold around the drug of accurate recognition, not the drug. If a screen makes someone feel managed rather than met, it is wrong. 2. Recognition, not inflation is the QC question for every written line: true about them right now, or a wish? Wishes bounce. 3. Depth is opt-in. Ease is mandatory. (This is exactly the Listen-simple / Explore-deep split.) 4. Progress is accrual, never loss. Constellations fill; they never break.
_CHAT_SYNC.md line ~632): official post-beta nav = THREE bottom
tabs, Explore / Listen / Oracle, Explore on the left holding everything else. This doc specs it.Affirmology_ProactiveOracle_ConversationStarters_Spec_v1.md),
feedback question bank (Affirmology_FeedbackOracle_QuestionBank_v1.md), the Habit Engine + testing
kit (Map v2 sections 2 + 4), the constellation-as-spine gamification (Gamification doc + North Star
section 4), the relationships viral loop (North Star 7b).affirmology-studio/affirmology-agent/.../agents/pdf_chart_svg.py (Western wheel, HD bodygraph,
Gene Keys four-gift spheres, Vedic South Indian square, numerology diamond, five-system synthesis
diagram); the synastry + Penta relationship engine (chart/relationship.py); the Understanding
(7-8k words, 12 fields, stored for every profile, ~$0.20 to build); /render-verbatim; /api/compose
with cost brakes; library ingest to app accounts; 12 gold zodiac constellation SVGs (zodiac/).TIMELINE (LOCKED, Jeff 7/12): Sunday morning = the Mirror email. Sunday afternoon = the personal text with the join/agreement link + app invite. Tuesday = the deeper promise (the fuller experience unlock). Copy may name Tuesday for the deeper layer; keep the invite's promise soft on specifics. August 13 = the customer-facing launch (beta feedback layer sunsets then; see 2.3). Hard constraint: Jeff travels Thursday night, has Friday daytime, then days of client work, so by Thursday the system must be SELF-SUFFICIENT (or tweakable at night): renders self-heal, feedback logs itself, nudges run from the rules table. "Full unlock" does NOT mean all of Explore. Launch-critical:
Everything below is written so Code can build v0 Monday and the rest in waves.
Bottom bar, always present: EXPLORE (left) | LISTEN (center, default) | ORACLE (right)
Rule of thumb for every future feature: if it is a daily habit surface it lives in Listen, if it is conversational it lives in Oracle, everything else enters through Explore. When in doubt, Explore.
pause_preference (normal / wide) and honor it on the NEXT render of that
type. Do not re-render existing audios for it./render-patch engine feature: given a stored script + one edited beat, re-voice ONLY that beat
verbatim and splice it into the existing mix at the beat boundary. Token cost near zero, voice
cost = one sentence. This is how a limiting-belief line or a fixed metaphor updates an audio the
person already loves without losing anything. (Honors "iterate, don't regenerate.") DATA/Studio owns.TO BE CLEAR (Jeff asked): the feedback SYSTEM is robust; the two-tap rule is only about WHAT SHOWS AT THE INSTANT an audio ends. The full instrument (Sol's five categories, voice notes, free text, the three Hub boxes, Oracle asks, A/B comparisons) is all in the product, one tap deeper. And there are TWO MODES: - BETA MODE (the founding group, default ON, SUNSETS AUGUST 13, the customer launch): massively robust feedback plus nudging and prompting: the completion screen opens the EXPANDED panel by default (the two taps + Sol's five category dials + the alignment sliders below + voice note). Testers signed up to give feedback; take it. Occasional SURVEYS also go out via WhatsApp/text or an in-app prompt; whichever channel, every answer gets LOGGED against the person (the tracked /r/ link machinery + profile store already support this). - CONSUMER MODE (from August 13): much lighter: two taps + the "say more" expander. Protects the habit celebration for people who did not sign up to be testers. No overt A/B testing; if variant testing survives into consumer mode it PRESENTS DIFFERENTLY (Jeff 7/12): "we made some changes based on what you've shared. Like this version better?" A care gesture, not an experiment. - THE ALIGNMENT SLIDERS (Jeff 7/11, from the brand frame): optional per-audio sliders measuring what the product promises: INSPIRATION (did it light you up), EMBODIMENT (did you feel it in the body), EMPOWERMENT (do you feel more capable). These sit with Sol's five craft categories in the expanded panel; together they measure both the craft and the effect.
The consumer-mode completion moment stays a CELEBRATION (Fogg), so keep it to two taps max on screen one:
Decision recommendation on Jeff's open question: keep Oracle PURE. No feature menus up top. The histories, reports, oracle roster, and synthesized artifacts all live in EXPLORE. Oracle gets ONE thin affordance: a small history icon (past conversations, scrollback) and the starter chips that are already spec'd. Reasons: the chat is our differentiator because it feels like a relationship, not a dashboard; and every "organizational" need it has is Explore's job by the rule in section 1.
What Oracle DOES get:
GET /api/app/chat/starters): chart hooks, transit hooks, and,
per Jeff's ask, FEEDBACK asks ("I noticed you've had The Mirror three days and haven't told me how
it landed. Want to?") and journey nudges. The Oracle is the app's proactive voice.Affirmology_VoiceTools_FishAudio_Eval_v1.md), though ElevenLabs
DOES have a speech-to-text API (Scribe) we can use interim with the key we already hold.
Standing rule holds: voicenotes = TRANSCRIPT ONLY, raw audio never retained.
IMPLEMENT/TEST PATH (interim, this week, cheapest-first):
1. NO new accounts needed: use the existing ELEVENLABS_API_KEY with their speech-to-text endpoint
(model scribe_v1, roughly $0.40 per audio HOUR, so a 30s note is a fraction of a cent). If the
ElevenLabs grant lands, this gets even cheaper.
2. Code adds one Studio endpoint: POST /api/transcribe (accepts the m4a upload, calls the STT API,
returns text, retains nothing). Test it BEFORE any app build: record a voice memo on the phone,
curl it at the endpoint.
3. App side: mic button in the chat composer bar (expo-av records, uploads, transcript drops into
the text box, editable, then send). Same component reused by the feedback voice-note boxes.
4. Fallback option if Scribe quality disappoints: OpenAI Whisper API (create account at
platform.openai.com, $10 of credit is months of beta usage at $0.006/min, add OPENAI_API_KEY
to Render, same endpoint shape).
5. ENDGAME (no per-use cost, private, offline): the dev's on-device Parakeet module via
sherpa-onnx. Needs a native module in the Expo build (dev-client/config-plugin work) and the
model file fetched on first use; no API credits ever. Get the dev's demo module when ready.LAYOUT (Jeff 7/12, replacing the long row list): an ICON RAIL at the top: 4-5 icons visible with labels beneath, more swipeable to the right (Start Here glowing at far left for new users and it eventually disappears; then The Sky, Readings, Somatics, Wealth, Relate, Career, Voices, Feedback, Profile, Help...). Selecting a chip swaps the CONTENT AREA below, so each category gets real space instead of one long list. THE SKY (the wheel) is the first category and the DEFAULT: it is what loads, and after a timeout of continuous use the tab drifts home to it. Header: "Explore" in one tone (no two-tone treatment), "your subconscious os" line WITHOUT any version number. KEY IMPLICATION (context-first): the rail makes contexts (Wealth, Relate, Career, Somatics) into first-class categories; formats (audios, readings, practices) live INSIDE each context page as Listen / Hear a reading / Do. One shared category-page template for Code. The rail's order can become ADAPTIVE per person later (their top contexts first), and a chip can carry a small glow-dot when something new landed there (a new episode, a new voice to audition): the nudge layer's quietest surface. The sections below remain the CONTENT INVENTORY that populates these categories:
The rotatable sky. First constellation filling; the other 11 zodiac shapes dim in the field.
Where new audios come from (we are not pushing a million audios; they request as they go): - Rows by SLOT (morning, midday, visioning, sleep, reading) and by KIND (from the S-index: micro, deep session, reading, journey chapter). - Each option = a named structure card (S-index) with a one-line promise and "Request this" which enqueues a render (respecting weekly credit allowances, section 7.4). - "Surprise me" = the engine picks from what it knows about them (adaptive default). - v0 = 3-4 requestable types max (Daily Pair variants, one reading, one micro). The menu grows as structures come online per Map v2 waves.
Multi-modal arcs (readings + soul songs + somatic + practices) through a life context. The catalog (consolidated from the use-case docs; roughly ranked by expected demand): 1. Wealth + prosperity (S18 exists as spec; the 72-min wealth reading proves the depth) 2. Relationships: romantic (synastry engine built) 3. Purpose + career/vocation 4. Self-worth + confidence 5. Health, energy + body 6. Family + parenting (incl. parent-child charts) 7. Life transition / "what season am I in" (transit-driven, S15 Threshold) 8. Healing a named block (S1 Rewire Arc / S20 Belief Surgery lane) 9. Deep Gene Keys journey (Activation → Venus → Pearl; the North Star build list) 10. Deep Human Design journey (your story + usable tools) 11. Deep Vedic journey 12. Shadow work / dark night (Gentle Arc guardrails apply) 13. Grief + loss (crisis research exists) 14. Business partnership + team (Penta; also a B2B seed) 15. Creativity + expression 16. Spiritual awakening / deeper meaning (Twelve Rooms S16 lives here) Each journey card: what it is, how long, what forms it uses, its constellation (5.4), entry state (available / forming / invite-your-person for relationship ones).
Readings are "a podcast about you," so present them exactly like a podcast library: episode cards with cover art, title, length, a one-line show note, play state, newest on top. Their home is HERE, not the Today rail. The shelf holds: The Mirror (episode one for everyone), each generated reading, and the REQUEST-AN-EPISODE flow (pick a theme from the list + the optional add-context box, text or voice note) so new episodes land on their actual life. Series potential is native to the format (the wealth series, the Twelve Rooms as a season, transit episodes). Cadence rules from 5.2b apply: consumer = pulled + auto-slowing if unlistened; beta = 1-2 pushed weekly, labeled as tests. When a new episode lands overnight, Listen gets at most a small "new episode about you" banner.
Jeff's reports addendum, resolved cost-effectively:
- Chart visuals, OUR branding (ART DIRECTION CORRECTED, Jeff 7/11: Nano Banana, not raw vectors;
the pure-SVG attempts look hideous every time). The build is a TWO-LAYER composite, because
image models cannot be trusted to draw a person's actual chart data (hallucinated placements
would violate the chart-truth hard rule):
1. ART LAYER (Nano Banana, generated ONCE per system, shared by everyone): the gorgeous
backgrounds, frames, the body figure for the bodygraph, the wheel ring art, textures, glow,
in the locked emerald/gold/marble language. Static assets.
2. DATA LAYER (thin, person-specific, rendered from the stored chart): TRANSPARENT, POSITIONED
GLOW OVERLAYS (Jeff's phrasing, exactly right): defined-center fills, planet glyph positions,
gate numbers, their numbers, composited over the art layer and styled to match (gold glyphs,
soft glow), deliberately minimal so the art carries the beauty. The same two-layer pattern
powers the constellation sky: Nano Banana paints the world once; software lights it up per
person (star states, lines, the Sun) with positioned overlays. One art pipeline, two features.
pdf_chart_svg.py survives only as the LOGIC reference (it knows where everything goes:
positions, centers, houses); its visual output is not the product.
STANDING DESIGN RULE (Jeff 7/12, strong): NO vector-aesthetic linework in ANY shipped visual.
Crisp SVG-style strokes and geometric vector charts are banned on sight. All celestial and chart
visuals = painted Nano Banana art + soft glow overlays. In wireframe mockups, drawn lines are
PROOF-OF-CONCEPT geometry only and must be labeled as placeholder. One screen, five tabs: HD
bodygraph, Western wheel, Vedic square, Gene Keys map, Numerology; sixth panel = the five-system
SYNTHESIS view, our signature (answer to "which system am I leaving out": none of the five; the
missing piece was the synthesis view itself; astrocartography a later seventh). Asset generation
brief for Higgsfield/Nano Banana joins section 5.7's list.
- Written sections under each visual: shape from the STORED UNDERSTANDING (never re-run the
council): one Haiku/Sonnet formatting pass per system extracts "your Sun sign/house/degree, your
type/authority/profile, your keys, your numbers + a paragraph of what it means" into structured
text, cached forever on the profile, appended when the Understanding grows. Cost: pennies per
person ONCE. This gives the study-minded their text layer without the PDF pipeline's complexity.
- Highlights: the one_liners + aha_moves fields of the Understanding surface as "your highlights"
cards. Already written, zero new cost.
- Insights: the saved Oracle conversation takeaways (3) + future deep reports live here.
- Progressions/transits text: "What is moving now" panel, from the transit engine, refreshed
weekly/on events. This is also the paid in-season hook later.
- Deeper on-demand written reports ("what is really on for me right now") stay CHATBOT-FIRST for
now (the Oracle can already do this corpus-grounded); a "save as report" button turns any such
answer into a stored Insight. Do not build a separate deep-report generator yet.
Per North Star 7b, surfaced not reinvented:
- Add a person: name + what they are to you (romantic / family / business / friend) + birth data if
known (else "no birth data" mode: context-only guidance through the user's OWN chart, e.g. their
Venus sequence and family houses; honest labeling of what we can and cannot see).
- Outputs: a synergy read (chat first, then a reading, then a two-person audio), business pairs can
later render the Penta view (engine supports it).
- THE VIRAL LOOP: revelations ABOUT the two of you unlock fully when the other person joins; one
button sends them a personal invite; they arrive to their own Origin + the relationship piece
already waiting. Codes/links reuse the /r/ tracked-link machinery that already exists.
- Privacy: entering someone's data = user's own exploration; SHARING requires the person to join
(the consent gate). Keep this language everywhere.
Affirmations to speak, journaling prompts, tapping how-tos, manifesting techniques, micro-practices. Chart + context personalized, refreshed by the Mindset Ninja agent (North Star 6b) as she comes online; v1 can be a static personalized set shaped from the Understanding. Each card: do-it-now body, "why this, for you" line, and a done-tap (counts toward constellation fills where relevant).
Jeff's voices section, now spec'd as a ROTATION ENGINE (Jeff: "duds go fast, winners go to others,
new voices get tested by multiple people quickly"):
- Audition shelf: named candidate voices (Fish + ElevenLabs; the registry is
Affirmology_VoiceRegistry_v1.md), each with a 20-30s standard sample rendered ONCE from a fixed
house script (not per person). Users: play, speed-toggle, thumbs up/down + "would you want your
readings in this voice?"
- THE ROTATION RULES (backend, simple): every candidate voice needs N=5+ listener verdicts fast, so
the shelf shows each tester a rotating subset weighted toward under-tested voices. A voice with
3+ early thumbs-down and no loves is RETIRED automatically (dud dies fast). A voice with strong
early loves gets PROMOTED into more testers' shelves for confirmation, then into the usable
roster (per audio type). New candidates enter weekly; the shelf REPOPULATES often so it never
goes stale. Every verdict logs voice_id x person x audio-type.
- SPANISH IS IN AT LAUNCH (Jeff 7/12): 2-3 Fish Spanish candidates ride the same rotation from the
start (many testers are Spanish speakers; first expansion language).
- Per-person voice preferences: chosen voice per audio TYPE (female soul song voice, male readings
voice, etc.) saved to profile, honored at render.
- SPANISH shelf: 2-3 Spanish candidates (Fish s2 handles Spanish; test first), same audition flow.
First expansion language; our tester base skews Spanish-speaking.
- OWN-VOICE experiment (flagged, later): Fish voice-clone from a reading sample, one test audio in
their own voice. Consent copy + expectations ("some people love it, some hate it") + QC gate. Run
as an A/B experiment with a handful of volunteers, not a default feature.
time_uncertain. Their initial suite is built ONLY from
time-robust structures (no rising-sign or house-heavy content; the engine flags which
structures are time-sensitive). We deliberately HOLD the time-dependent audios rather than
render them wrong. Honest, warm framing: "A couple of your audios are waiting on one detail:
your birth time. Let's find it, then they arrive."
2. PROXIMATE, PERSISTENT PROMPT. The prompt to resolve it appears at onboarding, on the
Listen tab (a gentle card: "Unlock the rest of your suite"), and via the Oracle's proactive
starters, and it recurs (respecting the nudge cap) until resolved or the person says "I truly
don't know, proceed anyway." Never nagging, always framed as a gift being unlocked.
3. THE FLOW LIVES IN THE ORACLE (chatbot), simple taps. Route them to the guide for a short,
friendly narrowing: plain A/B/C or 1/2 questions, never astrology jargon on screen. Sequence:
"Morning, afternoon, evening, night, or truly no idea?" → narrow the window → then
discriminating either/or questions the backend keys to rising-sign / house contrasts ("Which
sounds more like you as a first impression to others: A quiet and observed, or B bold and
immediately felt?"). Each answer narrows the candidate window; runs through the agent council
(the Olga precedent, Affirmology_Olga_Rectification_v1.md). End on a time/configuration THEY
are comfortable with ("This points to around 6-7am. Feel right? [Yes] [Try more questions]").
4. ON RESOLVE: recompute the chart, lift the gate, render the held time-dependent audios, and
make it a reveal ("Your birth time is set. Three new audios are being created for you now.").
5. Even a REFINED-BUT-UNCERTAIN time beats noon-default; store a confidence flag so future content
can widen or narrow how hard it leans on house/rising placements.
Build: the DETECT+GATE render filter is Wave 1 (DATA); the Oracle rectification conversation is an
early Wave 2 priority (it is mostly a scripted question tree + the existing council), not a deep
build. This is the same generic context-gathering pattern as 15.5 (route to Oracle, gather, feed
the render), applied to the single most impactful missing datum."How to use this app well": the daily rhythm, how to talk to your guide (including voice notes), what the constellation is, how feedback shapes your audios, how to request new audios. Text first, short videos slot in later (the wiki/walkthrough assets from the weekend plan feed this). Also the support path (Hermes voice → hello@affirmology.ai, already built in chat).
Beyond static Help: a layer that TEACHES at first, then RE-TEACHES and NUDGES based on observed behavior: celebrates successes ("you found the visioning audio; here's what it pairs with"), catches frustrations (played 10 seconds and bailed twice → a gentle "want it slower? tap here"), reintroduces unused features at the right moment, persuades toward the habit without pestering. Delivery: small in-app pop cards, Oracle starter asks, and the daily email; HARD CAP on frequency (one nudge surface per day max, never stacked, always dismissible) because overdoing this is how people unsubscribe. Beta = heavier and experimental (it also drives the feedback prompts above); consumer = light. v1 can be a rules table (event → nudge → cap); the Mindset Ninja agent grows into the curator. Every nudge shown/dismissed/acted-on gets logged; the nudges themselves are A/B-able.
Seeded from the Gamification doc + North Star section 4; this section makes it buildable.
Affirmology_AudioNaming_Registry_v1.md (DATA chatLocked-until-activated. A card gallery of the available guides: face (the marble-and-gold roster
art already generated, Council/Roster/cast/), name, tradition, a few lines of who they are and how
they speak, and one line of what changes when you choose them (the voice of your messages, not the
truth beneath; the oracles + corpus still supply the truth, the locked guardrail). Browsable only
after Aries completes; choosing one is the ceremony. Changing guides later is allowed but quiet
(settings, not a game).
The wheel is not a still image; it is a quiet living place:
- Every constellation card carries a subtle ambient loop: stars twinkling at different rhythms,
the constellation's glow breathing, an OCCASIONAL comet crossing the far background. Subtle,
flowing, non-disruptive; the loop returns to its own start so it cycles seamlessly.
- THE WINK (Jeff): occasionally the zodiac figure's eye catches a brief gold glint, like the
creature quietly winking at you, then returns to shadow. Rare enough to feel like a secret.
- THE SUN is a lightly animated, swirling, majestic ball of energy, halo breathing, keepsakes
drifting on their orbits. PINCH-TO-ZOOM dives into it: the screen warms toward orange as you
zoom (scale transform + warm bloom overlay), pinch out to return.
- BUILD METHOD (hybrid, cost-aware, Jeff 7/12):
- THE STARFIELD IS CODE, NOT VIDEO (Jeff): a procedural twinkle + slow-drift layer rendered in
the app (canvas/Skia particles) gives the "moving space feel" on EVERY card for free, no
Higgsfield, no per-scene render, never visibly repeats. Keep it SUPER TINY AND SUBTLE: small
stars, gentle varied twinkle, very slow drift, an occasional faint comet. This is the default
ambient motion and it ships without generating anything.
- VIDEO IS RESERVED FOR THE HERO MOMENTS ONLY (spend credits sparingly): the swirling Sun (done,
Affirmology_Sun_Swirl_loop.mp4, approved to land 7/12) and, later, the rare figure WINK.
These are i2v seamless loops from keeper stills (kling3_0_turbo), streamed from R2, swappable
with no app build (Sophia pattern). Constellation cards can run the code starfield alone until
a per-scene loop is worth the credits.
- Interactive stars (fill states, taps) stay procedural + data-driven on top of whichever
background is showing. Reduced-motion falls back to the still + frozen starfield.
- PINCH-ZOOM Sun stays a code transform (scale + warm bloom overlay) over the video/still.
Jeff's instinct, adopted as the rule: SMALL, BOLD, SPECIAL, GONE. Animations of the oracles appear
only at charged moments and play once briefly, then rest: the guide activation ceremony, a
constellation completion, Sophia's speaking-state in chat (already shipped, the 4-clip transformation),
and possibly a new guide's first greeting. Never ambient loops on Listen, never motion during audio
playback, always respectful of reduced-motion settings. Intrigue category: if it risks feeling like
decoration, cut it. The 5s chat-avatar videos (Product/ConstellationJourney/chat-avatars/) are the
asset pool.
CLAUDE OUTPUTS/Affirmology/Affirmology_ConstellationWheel_Sketch_2026-07-11.png)
The sky is a WHEEL, structurally the same object as a natal chart wheel (deeply on-brand):
- CENTER: THE SUN (decided, Jeff 7/12). "You are the star. The center of this universe."
Always radiant, never locked, never unlit, because it IS the person. Many things reside in the
Sun: their favorites, their go-tos, and (once Aries completes) The Rising. Swiping down to the
Sun = visiting their own core: the identity anthology, the quickest path to the audios they love
most. It is a place they own from day one, not a reward.
- THE RING: the 12 zodiac constellations as wedges around the center, in zodiac sequence.
THE SCREEN IS A WINDOW ONTO ONE WEDGE ("one screen" in the sketch). FINGER-SCROLL rotates the
wheel left/right, moving through the constellations in sequence; each wedge shows that
constellation's state: FILLING (full detail, stars + fills), AVAILABLE (rules + what it unlocks),
FORMING (grayed shape), or gated ("unlocks after Aries").
- SWIPE DOWN (inward): travel to the center orb. Their anthology lives there.
- SWIPE UP (outward): beyond the rim: EXTRA CONSTELLATIONS outside the zodiac 12: the deep
journeys (The Descent, The Becoming, The Passage), system constellations, challenge
constellations; paid or unlocked territory.
- Wedge divider lines radiate from the center (echoing the chart wheel), so even at ring level you
FEEL the wheel's geometry.
- STARS ARE NAVIGATION: tapping a star in a filling constellation deep-links straight to that
category in LISTEN to play it. The map is a visual memory of the 4 categories AND a launcher,
not just a trophy wall.
- v0 ships the feeling in 2D (rotate + radial travel with snap); true depth/parallax upgrades
later. Nano Banana paints the world (per 4d's two-layer pipeline); software lights it per person.
- THE ROTATION IS THE FEEL (Jeff 7/12): swiping/dragging left or right to the adjacent
constellation must be SEAMLESS AND FUN, not a page-flip. Momentum + settle: a drag carries
inertia and eases to a gentle snap on the nearest wedge (spring, never abrupt); the scene
crossfades and the code starfield drifts continuously across the transition so space feels
continuous. Swipe from the screen edge OR drag anywhere in the sky, both rotate. This motion
is a first-class build item, not polish.
- ALL 12 ARE ROTATABLE FROM DAY ONE, even the not-yet-available ones (they show as forming /
gated with their promise). Availability gates CONTENT, never NAVIGATION: the whole sky is always
explorable so the scope of the journey is felt immediately.
- FREE ACCESS, honor the pull (Jeff): if someone wants to go straight to Human Design, let them.
A person can rotate directly to any constellation and, where it is available, start there instead
of being forced through Aries first. Aries is the guided DEFAULT and the completion-reward path,
not a wall. (Some deep/outer constellations still gate on conditions or tier, but the 12 zodiac
wedges are freely navigable and, where content exists, freely startable.)
- APP-SIDE SUBTLE MOTION IS PART OF THE BUILD SPEC (not a later pass): the code starfield
(super-tiny twinkles + slow drift + occasional comet, 5.2c-ii), the seamless rotation physics
above, the pinch-zoom Sun, and the still-vs-video fallbacks all ship with the wheel. Reduced-
motion setting stills everything.
New guide activation (the headline), a deeper reading, a ceremony audio, chatbot create-credits, early access to new structures, a shareable constellation badge (5.6), bonus deep-journey sessions. One reward table lives with the constellation config so it is data, not code.
JEFF'S RULING (7/11, refining the curiosity-gap doctrine): the doctrine governs OUR channels (the brand never publishes samples; we publish reactions). USER shares are different: a person putting their own 5-15 second identity moment in a reel ("I am the alchemist. I am Jeff Parker Love.") IS the reaction, it makes them sound awesome, and it pulls curiosity toward the app. So shareables = the branded constellation card + optionally a SHORT identity snippet from their own audio (their choice, capped short, identity lines only, watermarked with the mark). Someone else's words stay insufficient by design: hearing Jeff's line makes you want your own. Sol should sanity-check the final share format since the doctrine is hers. Day-7 release notes + reaction moments remain the other share surfaces. Pride for them, intrigue + a personal link for the friend (ties into 4e).
Needed per zodiac constellation (start with Aries only):
1. Star-field base tile (deep emerald #0a2014, faint nebula, our palette; seamless pan).
2. The constellation in 4 states: dim points → stars igniting (per-star glow sprite) → gold lines
drawing → the full mythic figure faded in behind (marble-and-gold Hellenistic style matching the
council busts; the existing zodiac/ SVGs are the line-work base layer).
3. A star-ignition micro-animation (one reusable sprite/lottie) + a completion ceremony moment.
Prompt style: reuse the locked visual language (emerald/gold/cream, Cormorant, painterly
constellation figures per the Affirmology_GraphicsLibrary_Handoff_v1.md system). Static PNGs +
one sprite is enough for v0; video flourishes later.
This IS the three-move product story from the brand work: pick your context, get your suite, listen and align. At entry (or day 2): "What are you actually working on right now?" ONE pick: Wealth / Love + relationships / Purpose + work / Health + energy / Peace + confidence. The initial suite is then rendered with that context woven in (the context layer the beta group needs to feel: they already know their chart; context + transformation is what will impress them). Week 2: the Oracle refines it in conversation. - THE ASK COPY (approved, use verbatim at the first habit prompt): "We ask you to listen every day, because becoming is not a decision. It is a repetition. One listen will move you. Thirty is when you stop having to try." (The because must stay mechanistic; the Langer research says a large ask needs a real reason.) - THE LAYERS FRAMING (critical, Jeff 7/10): layers 2 and 3 (transformation tools + context) are never presented as unbuilt. The line is: "We have not added your life. Not because we can't, because you have not told us yet." Every context ask, discovery conversation, and upgrade moment is an invitation to be known more fully, never a paywall pitch.
One named block, in their words (this already exists at intake per Map v2's block-intensity metric; this makes it a visible object in Explore). The app SHOWS which audios will respond to it: "Your belief is being worked in: tonight's Night Install (reconsolidation pass), your EFT micro, your visioning." When /render-patch (2.2) exists, a belief update can patch one line into an existing loved audio for pennies. The block-intensity 1-10 at d0 and d7 measures it. One block at a time.
The 4h request lane feeds a weekly triage pass (agent): cluster, compare against roadmap + vision, surface the 3 that matter with who-asked and why. Never auto-promise anything in-app.
| # | Item | Owner |
|---|---|---|
| 1 | Daily Pair + feedback 2-tap (Map v2 floor, unchanged) | DATA renders + Code app taps |
| 2 | Listen tab reshape: Today rail (time-of-day cards, patch-note lines, pending badge) + library | Code |
| 3 | Explore tab v0: section index; live = Constellations (Aries), Get Audios (minimal), Feedback Hub, Profile (thin), Help; rest = forming cards | Code (UI) + Cowork (all copy) |
| 4 | Aries constellation: 4 stars x 7 fills + the Sun (ignites at completion), fill events from play-completions | Code |
| 5 | Playback rate control + per-type saved rate | Code |
| 6 | One-context pick at first open (writes to context_store) | Code + DATA |
| 7 | Time-sensitive-structure filter for unsure-birth-time profiles | DATA |
| 8 | Help/Get Started + all Explore copy + patch-note templates | Cowork |
| 9 | Status banner (manual flag + outage copy) + request-state labels | Code (component) + Cowork (copy) |
Overnight-delivery reveal flow + notify-me (email interim, push later), automatic status-flag wiring, Blueprint charts endpoint + screen (SVG reuse), written blueprint sections from the Understanding, Voice Lab (auditions + Spanish shelf), mic-next-to-send (Whisper interim), Oracle starters if not already in, A/B distributor + "try version B" cards, feedback-log "what changed" loop, /render-patch engine spec, Limiting Belief box, second + third constellations (Taurus or context-picked), request desk expansion, birth-time rectifier flow.
Relationships section + viral invite loop (spec 4e), Penta view, system constellations (GK/HD/Vedic), shareable badges + snippets, Mindset Ninja practice engine, own-voice experiment, dance/music tracks, hard-mode constellations, Spanish full experience, creator/Affirmologist dials.
Beta users must never stare at a spinner wondering if we broke. One reusable STATUS BANNER component
(app-wide, driven by a tiny GET /api/app/status flag the team or the backend can set):
- CREDIT/OUTAGE state: "A note from the team: our audio engine hit a temporary limit on the backend.
Your audio is queued and WILL be created. This is beta; kinks like this get worked out. Check back
in a bit, or we'll let you know." Warm, honest, on-brand, zero fake progress.
- DEGRADED state (slow renders): "Renders are running slower than usual right now; yours is in line."
- The flag can be set manually (an admin endpoint) at first; automatic detection (the credit-error
detector already exists in self-heal) wires in later. The graceful-failure work on the results page
(7/4) is the same philosophy; this brings it in-app.
- Per-request status: every requested audio has a visible state in Get Audios: QUEUED → CREATING →
READY (→ or WAITING ON THE ENGINE during an outage).
Renders are per-person and can trail the journey by a day (Map v2), so make the LANDING an event: - Overnight ingests (via /api/library/ingest) mark audios NEW; the app badges Listen ("1 update pending", the native Zeigarnik loop) and the Today rail shows the new card with its patch notes. - "NOTIFY ME WHEN IT'S READY": every request card carries it. Until push infra exists, this = the daily email carries "your new audio landed" (email is already the interim cue carrier per Map v2); when push notifications come online (Wave 2-3), it becomes a real push, and later the anchor-word push rides the same rail. - The reveal motivates exploring: a landed requested audio deep-links into Explore > Get Audios with a gentle "want another? here's what else can be built for you" row. Request → wait → reveal → request again is itself a habit loop, and an ethical one (real value each cycle).
Later there are account tiers (member / creator / etc.) and audio credits (included + purchasable) governing request volume. Do NOT build the economy now; DO log every request/render against the person with a cost estimate (the engine already tracks render cost), so when credits arrive the ledger and habits already exist. Beta = generous visible allowance (7.4), which doubles as the credits UI dress rehearsal.
Jeff's direction, captured so it is not lost:
- PROBLEM: Jeff currently gets more creation utility from Claude Code sessions than from Atlas.
Atlas must become the attuned lab: create/tweak audio structures conversationally through
Hermes AND through direct dials, no Code session required.
- DIALS: the full per-audio metrics set from North Star section 12 (identity strength,
transformation strength, energy/intensity, pacing, emotional tone, techniques employed, stage,
time-of-day, theme, duration, modality lean, voice, bed, repetition role) as adjustable controls
on every draft, adjustable directly or by telling Hermes.
- THE TECHNIQUE BROWSER: a browsable, clickable LIST of every transformational tool/technique in
the corpus (the 339+ craft entries + the S-index structures), each with a paragraph of what it is
and when it serves; click to include it in a build. New corpus findings flow in automatically
(the corpus IS the memory; Atlas becomes its visible shelf). Favorites, test combinations,
retest, dial in, get suggestions from Hermes.
- PIPELINE: draft in Atlas → test render → listen → tweak → PUSH to (a) your own app library,
(b) a named person's library, or later (c) a community/creator audience. Same engine, same QC
gate, always.
- CREATOR ACCOUNTS (the tier from 11.3): graduated complexity. The consumer app stays streamlined
with decisions made for you; power users upgrade to creator level. App = simple; Atlas = the lab.
- CREATE SURFACE QUESTION (Jeff 7/12: a SEPARATE Atlas app, or a 4th bottom tab in the main
app?): RECOMMENDATION = the 4th tab for light creation + Atlas stays a WEB/PWA lab, and we do
NOT build a second native App Store app. Reasoning: (a) a CREATE tab appears in the main
app ONLY for creator-tier accounts (role-gated; consumers never see it, so the 3-tab simplicity
survives). Light surface: conversational creation through Hermes, a small dial set, test-listen,
push to your own library or community. Creators live inside the same app their community uses:
one build, no second install. (b) ATLAS stays the deep lab as the web/PWA it already is
(studio.affirmology.ai installs to the home screen and dock today): the full dial set, technique
browser, batch testing, cost controls, permissions. Desktop-shaped power work wants a big screen
anyway. (c) A second NATIVE app would double the build/review/TestFlight/maintenance burden on
Code for no capability the PWA lacks, and Apple review adds friction to every lab iteration. If
a native Atlas ever earns its keep (offline recording? push-heavy workflows?), revisit; not now.
Phasing: Atlas web revamp first (~next month, serves the founders immediately), the in-app
Create tab when the creator tier launches.
- This becomes its own spec doc when the build starts (working name:
Affirmology_AtlasCreatorLab_Spec_v1.md); the existing Atlas decisions (PROJECT_STATE 17b,
permission tiers, voicenote transcript-only) still stand.
RESOLVED (Jeff, 7/12): - "Generic vs Deeply me" slider at audio end: IN. - Timeline: Mirror email Sun AM, join text + app invite Sun PM, deeper promise Tuesday, customer launch August 13 (beta feedback layer sunsets then; consumer variant-testing presents as care: "we made changes based on what you shared, like this version better?"). - Voices: rotation engine greenlit for when auditions start (duds die fast, winners propagate, new voices reach multiple testers quickly); Spanish is in at launch. - "Soul Song" name: STAYS for now. - Challenges: Aries stays gentle (7 fills). Challenge tier escalates 7-straight / 14 / a month, themes mapped to healing/transformation journeys, held loosely. - The center of the wheel: THE SUN. Always radiant, it IS the person; favorites and go-tos live there; The Rising is one audio delivered into it when Aries completes. - Creator surface: role-gated CREATE tab in the main app for light creation; Atlas stays the web/PWA deep lab; NO second native app (section 12).
STILL OPEN, asked plainly:
Q1. What is clickable-and-working in Explore on TUESDAY (the deeper promise day)? When a tester opens the Explore tab Tuesday, every section listed below is VISIBLE. The question is which ones DO something when tapped vs which show a beautiful "forming" teaser card. My proposed split, veto or adjust per line: | Section | Tuesday state (proposed) | |---|---| | The Wheel (Aries filling, other 11 ghosted) | WORKS | | Readings shelf (The Mirror + request-an-episode) | WORKS | | Get Audios (2-3 requestable types) | WORKS | | Feedback (Sol's three boxes) | WORKS | | Profile (view data, prefs) | WORKS | | Getting Started (help copy) | WORKS | | Journeys catalog | teaser card only | | Your Blueprint (chart art + text) | teaser card only (art pipeline not ready by Tuesday) | | Relationships | teaser card only | | Practice Deck | teaser card only | | Voice Lab | teaser card only |
Q2. The Aries completion ceremony: one moment or two? When someone's 4th star completes, two big things happen: they RECEIVE The Rising (their evolved anthem, delivered into their Sun) and they get to CHOOSE THEIR GUIDE (the Wisdom Council member who becomes their voice; you love this as a ceremony). The question is pacing: - OPTION A, one night: the ceremony plays, The Rising is presented, and the guide choice happens in the same flow. Maximum wow, one big moment. - OPTION B, two nights: completion night = the ceremony + The Rising. Next morning = "your guides await" and the choosing is its own ritual. Two peak moments, one more guaranteed return visit. My lean: B (the guide choice deserves its own ceremony, and it engineers tomorrow's open).
out, put it in. A strong feature for retention.")
The sky is always moving against their chart; that motion is our renewable reason to return.
Existing work to build from: S15 Threshold Reading (transit as initiation gate),
Affirmology_GrowthEngine_TimingLayer_Plan_v1.md, Affirmology_Kairos_ElectionalAgent_Spec_v1.md,
Affirmology_TeachingAudio_TransitAware_Research_v1.md, and the in-season layer already reserved
from the Blueprint PDF.
WHAT A CELESTIAL EVENT TOUCHES (proposal, to be tested on the founding group): 1. The lunar rhythm = biweekly, LOCKED (Jeff 7/12). The Night Tide refreshes every TWO WEEKS, riding new moon AND full moon, event centered mid-period. No cadence testing needed: if the sky changed, the audio changing is self-explanatory to anyone. New moon half = intention/planting flavor; full moon half = release/culmination flavor. Two renders per person per month. WHAT ELSE THE MOON TOUCHES (cheap-first): a one-line moon-tuned patch into the morning audio (/render-patch, pennies); the Stillness/visioning piece leans intention-setting in the new-moon half and releasing in the full-moon half (patch or alternate version); a Signals card at each new/full moon (15.3, personalized, shareable); occasionally a lunar reading episode when the moon hits something personal in their chart. Only the Night Tide gets true re-renders; the rest ride patches and cards. 1b. THE EVENT AUDIO (Jeff 7/12: "KILLER FEATURE for sustained membership"). Each new moon and full moon, ONE custom audio APPEARS THAT DAY, for use THAT DAY: built from them, their context, their progressions, and the particulars of that exact event. Use it all day, as much as they want, or in a ritual. It is an ANTICIPATED UNLOCK: the app can show it coming ("something arrives with Thursday's full moon"), suspense + curiosity, then it lands. BIG EVENTS (eclipses, major conjunctions) scale it up: possibly a few audios, possibly unlocking DAYS BEFORE to prepare for the event. Unique, suspenseful, and impossible to replicate without chart + context + engine. Cost: one render per person per event, anticipated and budgeted; the anticipation itself is retention. This is distinct from the Night Tide refresh (item 1): the Night Tide is the fortnight's sleep companion; the Event Audio is the day-of ritual piece. 2. A significant personal transit = a podcast episode (S15 Threshold Reading) landing on the shelf: "Saturn is crossing your midheaven. This is an initiation." Trigger threshold: personally significant transits only (outer planets to angles/luminaries, returns, eclipses on their points), not daily noise. 3. "What is moving now" panel in Your Blueprint (4d): the read-only text layer, refreshed weekly. Cheap, always current. 4. Small ripples, not full re-renders: ordinary transits do NOT re-render the daily suite. Where a timely line belongs in an existing audio, /render-patch (2.2) slips one sentence in. The Rising re-renders only on MAJOR thresholds (a return, a big progression shift), which keeps it precious. 5. The Oracle narrates the sky: transit hooks are already spec'd in the starters; the Oracle is where "what does this new moon mean for me" gets answered conversationally, which also gates demand: if people ask, we build more. OPEN QUESTIONS to answer with beta data: does the monthly Night Tide refresh beat a static one on listens? Do transit episodes get played within 48h? That decides how much render budget timing deserves. Owner: DATA (triggers + renders) with the transit engine already computing; app just displays what lands.
Explore is the one surface complicated enough to design before building. The loop: 1. COWORK BUILDS CLICKABLE HTML MOCKUPS: phone-framed, on-brand (the affirmology-design system), interactive enough to feel (tabs tap, cards expand, the constellation pans). 2-3 differentiated layout directions per screen, delivered as single HTML files Jeff opens on desktop or phone. 2. JEFF + SOL REACT in chat or voice notes; Cowork iterates same-day. Cheap throwaway work by design; no app code is touched. 3. THE WINNER BECOMES THE SPEC: the chosen mockup HTML + a redline note goes to Code as the visual reference alongside this doc's section. Code translates to React Native; the mockup is the arbiter for spacing, hierarchy, and motion feel. 4. Order of mockups: (1) Explore index (the portal page), (2) the Constellation sky + Aries card, (3) Your Blueprint chart tabs, (4) the reading context-selection flow, (5) Guide Gallery. This is also where Nano Banana art drafts get placed in context before committing to a direction.
When a creator opens the Create tab, the top clearly reads ATLAS. It is the system; the tab is an interface INTO it. One brand for the creation engine everywhere it appears (web lab + in-app tab).
THE GIFT, SOLVED (Jeff's fear 7/12: non-completers must not be starved of a long affirming soul song): TWO LONG IDENTITY AUDIOS, different jobs. (a) EARLY, UNGATED: everyone receives an upgraded longer affirming soul song (~8 min, context-woven) within their first days, part of the week-one journey, no completion required. Nobody is ever without their strong long version. (b) AT THE CEREMONY, THE LIVING ONE: the completion gift is the EVOLVING anthem (The Rising), and per Jeff it is DELIVERED BY THE GUIDE THEY JUST CHOSE, inside the ceremony. The gift is not "finally a long audio"; it is "your song is now alive, and your guide hands it to you." Gate the aliveness and the relationship, never the affirmation. The ceremony = CHOOSING THE GUIDE, with small kick-off animations, then the selection experience. Not needed Tuesday (nobody completes Aries for a week; build later in the week). Cadence model: - Choose once at the Aries ceremony (the earned first choice). - THEN THE BETTER RECURRING FEATURE (Jeff's instinct): a NEW spirit guide arrives roughly monthly, system-sorted with some user say. Fresh relationship, fresh voice on the same truths, easter-egg variety between users ("who do you have this month?"), more to talk about. - Sophia never disappears: she is the constant thread; guides are the rotating voice layer on top (consistent with the locked architecture: guides = presentation, oracles + corpus = truth). - Later bonuses: switch anytime, or choose from a curated few. Balance discovered in beta.
Extends 13b and 5.6; this is the retention + sharing engine for sky events: - A meaningful astro event (new moon in Gemini, an eclipse, Jupiter-Venus conjunction) generates a PERSONALIZED BRANDED CARD: their name, what this event means against THEIR chart, in affirmation language where it makes sense, ornate/classy/on-brand, in a few color variants. Downloadable, screenshot-friendly, made to be posted. Encourage sharing hard. - SHORT SHAREABLE AUDIO: their strongest on-point affirmation lines exportable as an IG/TikTok audio snippet (per the 5.6 ruling: user shares their own moment; brand channels stay reactions-only). - THE INBOX: an in-app surface where these land. The relevant chip lights with a small count badge (1, 2) and a subtle animation; tapping opens: the downloadable card front and center, "here's what it means," the new reading if one was triggered, any related updates. Excitement, not noise: only real events badge. - Cards can also arrive as a push/pop notification when push exists; and an EMAIL rides each major event (the email campaign layer is its own future workstream, flagged, Cowork owns).
Star counts = principal stars in the classic figure (approximate by tradition; our art picks the
GAMEPLAY stars, extra stars stay decorative; big figures use a 4-9 star gameplay subset):
| Constellation | ~Stars | Theme (proposal) | Notes |
|---|---|---|---|
| Aries | 4 | The Initiation (daily four) | LOCKED, live first |
| Taurus | 7 | WEALTH (Jeff's nomination, fits: Venus-ruled, embodied, material) | flesh out STRONG even for week-1 wealth-context people |
| Gemini | 8 | The Toolkit: transformational techniques sampler; each star = trying a different tool family (EFT, visualization, breath, reconsolidation, gratitude...) | answers "where do the tools live" |
| Cancer | 5 | Home + Family: inner child, reparenting, family healing | 14-day challenge candidate |
| Leo | 9 | Confidence + Being Seen | the celebration/shareables constellation |
| Virgo | 9 | Craft + Daily Alignment: health, energy, body, refinement | |
| Libra | 4 | RELATIONSHIPS v1 (own-chart work) | tier-2 synastry constellations sit beyond (15.6) |
| Scorpio | ~15 (play 8) | DEPTH PSYCHOLOGY (Jeff 7/12: "the perfect place"): shadow lives inside it, plus IFS/parts, Jungian lanes, the Belief Surgery | month-long challenge candidate |
| Sagittarius | 8 (Teapot) | GENE KEYS: THE GOLDEN PATH (Jeff 7/12: a known system and a draw, deserves a main wedge; the archer's quest fits). Stars = Activation audio, Activation reading, Venus audio, Venus reading, Pearl audio, Pearl reading, the woven whole-path journey, +1 room to grow | 7+ audios minimum, series-native |
| Capricorn | 9 | Vocation + Mastery: career | |
| Aquarius | 10 | Your Unique Design: the Human Design deep dive | Aquarian-age system, fits |
| Pisces | ~15 (play 7) | The long-journeys portal + dreams, sleep depth, spirit (absorbs Meaning/Expansion). NAME TBD: "Journeys" / "Deep Journeys" / "The Deep" (Jeff undecided 7/12) | |
OUTER TIER (beyond the rim; paid/unlocked): CHIRON = The Healing (grief, inner child,
trauma-informed, integration; a variety, per Jeff). GENE KEYS = The Golden Path (its own long
multi-part journey: Activation, Venus, Pearl; too big for one wedge). Relationship synastry
constellations (15.6). The Becoming (hero's quest, Ophiuchus candidate). Challenge constellations.
CROSS-LIGHTING RULE (Jeff): the constellation is ONE way in; the context pages in Explore offer the
same audios, and doing them THERE still lights the matching stars. Multiple ways to explore, one
progress truth.
STAR RULES (Jeff 7/12):
- Stars are CONTAINERS, not single tracks. A star can be a category holding multiple audios
(several visualization meditations; many transformation pieces), including versions that get more
and more custom to their goals over time. Tapping a star can offer its options.
- Extra stars stay decorative until something great earns them; never invent filler content to
light a star. Decorative stars are also expansion room.
- STAR SUBSET RULE (Jeff 7/12): omit the outliers. Every star map already omits faint stars;
we choose which catalog stars to include. Drop a pattern's biggest outlier star(s), especially
while there is nothing to bake into them: a constellation ships with only as many gameplay stars
as it has REAL content for. Patterns stay recognizably true; figures take the pose liberty
(rotate/tilt to inhabit the stars), stars are never rearranged. BONUS MECHANIC this enables:
when new content earns a place later, "a new star awakens in your sky" is itself a release
event: the constellation literally grows, announced, for free.
- Some stars unlock only through deeper context: they require an inquiry (Oracle questioning or
a short form) before their audio can even be made. Data gathering as gameplay.
- Filled constellations stay ALIVE: revisit to replay, to receive new versions inside its stars,
to take its challenge variant, or when a transit re-activates its theme. Completion opens a door;
it never closes the room.
THE FIGURE + NUMBERS (Jeff 7/12, art + UI): each zodiac figure sits FAINT behind its stars; it
lights up at completion and gets SLIGHTLY MORE DEFINED as meaningful work accrues (progressive
revelation, not binary). Numbers stay small and clever: tiny text near a star (fill count, options
count), more defined on press/hover, never cluttering the sky. The BOX BELOW the sky panel carries
the sorting, lists, and options for whatever is focused.
STAR ARCHITECTURE (locked 7/12, see Affirmology_WheelArt_OrientationSpec_v1.md for the full
per-constellation review): STARS, LINES, LABELS, FILLS = 100% APP CODE (one star component with a
0..1 fill parameter, not stacked images; positions from a per-constellation anchor list, never from
an image model; count-scaled uniform sizing so many-star signs do not crowd and few-star signs are
not oversized, which fixes the Libra "stars too big" note). FIGURE + SKY = Higgsfield art on its OWN
layer, app-rotatable/flippable/scalable, so orientation is tuned in CODE without new renders (most
of Jeff's per-constellation rotation notes are free code transforms; regen only when a POSE CLASS is
wrong, e.g. standing-vs-reclining Virgo). A whole-pattern small rotation is astronomically honest
(the sky shows every tilt); moving stars relative to each other is the forbidden rearrangement.
STAR STATE SPEC (locked, Jeff 7/12): an EMPTY star is always a recognizable thin gold OUTLINE of
the star shape (never invisible, never a vague dot), so every star of the constellation is legible
from day one. Activation FILLS it with light, vessel-like, toward FULL EQUAL SHINE at completion
(all full stars shine at the same brightness; completion is unmistakable).
THE LINE RULE (locked from Concept C, Jeff 7/12: "this works best"): the thread FOLLOWS ALIVENESS.
A line extends to any star that has BEGUN filling (first activation draws the thread to it); the
line's radiance scales with the connected star's fill, reaching full brightness when both ends are
full. An untouched (empty-outline) star has no line to it yet. So the path visibly grows as you
begin each practice and completes as you complete it. Concept C is the visual reference (lines
reach stars 1-2-3, star 4 outlined and unconnected).
EMPTY-STAR: PICKED (Jeff 7/12): Variant 3, the thin gold outline with a faint soft shimmer
inside the hollow (working choice, "meet with 3 and see"; variant 4's soft unformed silhouette
is the runner-up if 3 reads too busy in motion). The shimmer breathes very slowly (the brand's
5s pulse), an invitation without light. Figure progression:
dark silhouette (dormant) → gold-mist edges (awakening) → fully formed starlight figure (complete),
per the approved Aries progression sheet (CLAUDE OUTPUTS/Affirmology/WheelConcepts/). Text labels
composite NEXT TO stars (what audio/activation each star asks of you), so art keeps clear space
around each star. The wheel itself is IMPLIED, never drawn: no bars, no dividers, open space; the
focused constellation always sits UPRIGHT in the viewing window; the sun's glow hints from
below-frame at ring level.
Every render request passes an allowance check (N/week by tier at beta), expensive renders queue behind a soft cap with honest status ("your next render unlocks Thursday"), and burst protection: a per-person daily render ceiling so nobody drains credits fast. Log everything against the person now (11.3); the credits economy formalizes at the Aug 13 pricing pass. Pricing/tiers stay an open workstream informed by how beta actually uses the request desk, the wheel, and the outer journeys.
Jeff serves a couple soon: individual medicine days + a couples day. Pilot the facilitator pattern:
- Per person: a pre-ceremony intention audio (context-gathered via Oracle questioning), a morning
and night audio for the days between, and post-ceremony INTEGRATION audios (the plant-medicine
integration research lane exists: Affirmology_PlantMedicineJourney_Research_v1.md).
- For the couple: a two-chart relationship audio + reading for the couples day (the synastry
engine is built), plus a shared listening moment.
- Plus a simple week-ahead plan: how to use the app for clarity + transformation after they leave.
- This prototypes the Affirmologist/creator flow end to end (a facilitator serving clients through
our audios) and feeds the group-audio research. Treat as a named pilot; capture everything.
Interim = the WhatsApp circle (already planned). In-app community candidates, phased: shared challenge constellations (a cohort fills the same challenge together, each sees the group's sky brightening); an Affirmologist circle surface (a creator's community gets their pushed audios + a shared shelf); reaction walls (share your card/badge INTO the circle, not just out to social); group audio events (the GroupAudio research lane: synchronized listening). Principle: community arrives AFTER the personal habit is solid; it amplifies belonging, never replaces the personal recognition core.
PROVEN TONIGHT: Eleven Music (existing key, ~pennies per render) produced Gregorian chants of Jeff's full name on the first attempts (v1 monastery, v2 ethereal, v3 crisp-articulation, and a 90-second SEAMLESS LOOP with choir drone built for breathwork/medicine ceremony). Jeff: "This chant is awesome. We just tapped into something." SINGING WITH MUSIC IS NOW A LIVE FEATURE LANE: - Chant as Origin opener: TESTED 7/12, does not land as hoped (two prototype mixes built and judged by ear). The Origin's intimate spoken opening and the grand choral register fight each other. VERDICT: the chant is a STANDALONE TREASURE, not a prefix: it lives in the Sun, in ceremony moments (the guide-delivered gift), as the breathwork/medicine loop, and as a share artifact. A much shorter single-phrase sting (~8s) may be retested someday; do not force it. - THE CHANT'S HOME (Jeff 7/12, and it is better than the prefix idea): debut + reprise. (a) THE WELCOME: the chant plays on FIRST OPEN of the app, over the wheel's flash-forward animation (16.8 item 1b): their sky lights while a choir sings their name. First minute in the app = "it knows me" at maximum voltage. FLOW LOCKED (Jeff 7/12): the chant STARTS the app (the epic beginning, experienced not owned), and at the spirit-guide ceremony THEY GET TO KEEP IT: the guide gifts the chant into their Sun / treasure bank as a playable possession. Hear it once at the threshold; own it at the triumph. CHANT QC AT SCALE (how we nail it for every name; tested 7/12): STT on sung melisma is NOT a reliable certifier (Scribe heard Jeff's beloved v1 as "Jef Rokero"; choir takes transcribe as "choral music"), so the automated pipeline is layered: 1. RENDER 3-5 takes per person from the name-templated prompt (auto-syllabified hints: "Par-ker"). 2. MACHINE PRE-FILTER, reject-only: fuzzy phonetic match of the STT transcript against the name kills obvious duds (nothing name-like heard); it never certifies winners. 3. THE REAL GATE IS THEIR OWN EAR, built into the product: the welcome ends with ONE TAP: "Did you hear your name?" YES = that take locks as their keeper. NO = warm copy ("then it isn't yours yet"), an overnight re-render, and the welcome plays again tomorrow: a second sacred moment instead of a failure, for pennies. 4. BETA: Jeff/Sol ear-check the founding cohort's chants by hand (33 people, one sitting) while every human yes/no tunes the fuzzy pre-filter threshold (the assimilation-engine pattern). THE SOUND GATE (Jeff 7/12: "audio must be on to unlock that screen"): the welcome must never play silently and be wasted. Design: first open lands on a dark-sky threshold screen with one line: "What comes next is meant to be heard. ✦ Turn your sound up to begin." The BEGIN button only ignites when the app detects media volume above a threshold (volume level IS readable on device; if volume is too low the button stays dim with a gentle "raise your volume" shimmer). Two technical facts that make this work: (1) with the right audio session config (playsInSilentModeIOS) the app plays through the iOS SILENT SWITCH, so the ringer mute cannot kill the moment, only the volume slider can, and that is exactly what we gate on; (2) the tap-to-begin doubles as the audio unlock, the SAME ritual pattern already proven on the demo results page (the tap-to-begin overlay from the 5/21 build). If they somehow skip, the welcome is SAVED and offered again next open; the moment is never spent silently. Headphones detected = a small "even better with headphones ✦" blessing, never a demand. (b) THE REPRISE: the chant RETURNS at the Aries completion ceremony as the guide delivers their gift: a musical callback that makes the ceremony feel fated (the sound from their first minute, returned at their first triumph). One asset, two charged moments, zero marginal cost for the second. - Name-chant motifs weave in and out of other audio types (intros, seals, transitions), from the same per-person chant asset, reused across renders at zero marginal cost. - The Ceremony Loop: the seamless chant loop on repeat for medicine journeys and breathwork. Immediate candidate for the Ceremony Companion pilot (15.8) with Jeff's client couple. - CRAFT NOTES (from the 7/12 listening session, Jeff's ear): 1. The name must always be audible; it IS the feature. When Eleven Music adds instruments it buries the vocals (takes A/B/C all failed on this). WINNING PATTERN: render the chant A CAPPELLA, then mix OUR OWN bed underneath at low volume in ffmpeg (the existing voice-over-bed pipeline, ~0.18). We control the balance; the name always wins. 2. Generation is a lottery; pick winners by ear and REUSE the asset. Jeff preferred take v1 (fuller choir) over the articulation-tuned v3, and the "I am" line did not land in v3. Render several takes per person, human-pick ONE keeper, and reuse that keeper asset everywhere (Origin threshold, motifs, loop source). Never regenerate a loved chant. 3. Articulation prompting (crisp syllables, "Par-ker" hyphenation) helps but does not override take-to-take variance; the by-ear pick is the real QC gate. - The rest of the layer (dance tracks, full real songs, genre shelf) still waits on tech maturity as below; the CHANT lane ships whenever we decide.
(Original future-lane notes:) Jeff's vision: grow beyond spoken word into SACRED SOUNDS, SINGING, and MANTRAS carrying the same cosmic blueprint + context format; and different musical styles: dance tracks, upbeat movement pieces, things that feel like REAL SONGS with their identity woven in. Soul Songs become literally sung. Waiting on: music-generation tech maturing for custom vocal music at our quality bar (watch the gen-music APIs; Suno-class tools already make our beds). Groundwork that already exists: the Suno bed prompts doc, the FrequencySoundLayer spec (C3), the sound-design/dynamic-beds report, and the stretchable-bed work Jeff + Sol are doing now. When it lands: mantra micro-audios (anchor word sung), a dance-genre shelf people vote on, and chart-tuned sacred sound (frequency layer) under existing structures. Entry point when ready: a Voices/Music lane in the rotation engine (4g) so testers vote genres and styles the same way they vote voices. THE FIRST SUNG ARTIFACT (Jeff 7/12): a Gregorian chant of your own name. Voices in a stone cathedral singing YOUR name. RESEARCHED 7/12: FEASIBLE TODAY. Two viable paths: (1) Eleven Music (v2), available via API with custom lyrics and commercial licensing: lyrics = the person's name + seal line, style prompt = Gregorian chant / monastery choir. API access means it is PROGRAMMABLE PER PERSON through the ElevenLabs integration we already run (and the grant would cover it). (2) Suno has a whole Gregorian-chant style lane with custom lyrics (strong quality, check current commercial/API terms before productizing). NEXT STEP: hand-prototype ONE chant (Jeff's name) via Eleven Music, judge chills by ear, then decide productization. The Origin's fixed seal is "I am [name]", so the chant is that seal, sung. Natural homes: the guide-choice moment, a completion reward, an app-open sting, the anchor word chanted. Chills-per-dollar may be the best in the catalog.
Prophecy/vision work, deeper spirituality lanes, depth psychology (IFS/Jungian, docs exist), attachment styles (15.5), dance/music tracks (Wave 3 note in section 9), progressive disclosure of esoteric layers (I Ching, cross-system). These enter through the corpus + context layer as they mature; each becomes a category chip or outer constellation only when it has real content.
Jeff: the user creates, chooses, and unlocks THEIR OWN set of audios. A game, unique, meaningful, an achievement: "your own audio treasure bank." The opposite of Calm's gazillion presets: ownership in what you cultivated on your own journey. BUSINESS RULE (Jeff): audios EARNED stay accessible even if the membership ends. Features dull, audio access remains, rejoin nudges stay tasteful. This is a trust promise worth marketing loudly: "what you earn here is yours." - The Sun = the treasure bank's heart: favorites, easy access, mirrored to Listen (15.6). - VERSION SHELF: when an audio gets a patched variation (belief update, transit line), BOTH versions store for the person. Their bank grows even from tweaks.
Multiple ways users spread it: referral links where signups earn TOKENS (render/chat/podcast credits) for the referrer, in-app social cred (a visible count of people you brought), share cards (Signals 15.3), connection invites (16.2). AND STRATEGIC: make the app a FRIEND to internet astrologers, never a threat: they use it themselves, talk about it, deliver custom audios to their communities via the creator program, earn via affiliate codes with custom incentives. They are the distribution channel that already owns the audience's trust. (Feeds the Affirmologist tier.)
Membership tiers, each with a monthly-refilling CREDIT BANK, plus buyable top-up credits above any tier. Tokens spend on: new renders, chatbot creations, podcast episodes, and future goodies. Referrals and achievements can award tokens (16.3). Anti-fleece guardrails from 15.7 still apply (daily ceilings, queue-gating, honest status).
Before ANY render request executes, a routing layer asks in order: (1) can playback-rate or a setting change solve it? no render. (2) can /render-patch solve it (one line, one segment)? patch. (3) can an existing stored version serve? reuse. (4) only then, full render. Applies to feedback responses, A/B variant cuts, belief updates, transit ripples. This single rule protects the economics of everything above it.
A recurring button wherever content lives: "Make it a podcast" on a meaty Oracle conversation or a written insight; "Make it a meditation / somatic / audio" on practices and passages. One tap turns any content the person loves into their preferred format (through the request queue + cheap-first router). This is the format-fluidity our engine uniquely has; surface it everywhere tastefully.
Housekeeping: this doc is the app-experience lead; PROJECT_STATE points here. Update section 10's wave tables as items ship. The S-index stays in the Possibilities Maps; journeys catalog (4c) may graduate to its own doc when journeys build starts.