Home / Ops / More in this area

Build phase 1: shared foundation + native Atlas scaffold (Claude Code brief)

Updated Jun 26, 2026 · Affirmology_Build_Phase1_Foundation_Brief.md

Summary. Paste-ready. Starts the build now. Builds on what already exists from the overnight run (the affirmology-app consumer RN app + the backend with magic-link auth) and the decisions in AffirmologyAppArchitectureDecisionv1.md (Atlas native in React Native, redesig

Build phase 1: shared foundation + native Atlas scaffold (Claude Code brief)

Paste-ready. Starts the build now. Builds on what already exists from the overnight run (the affirmology-app consumer RN app + the backend with magic-link auth) and the decisions in Affirmology_AppArchitecture_Decision_v1.md (Atlas native in React Native, redesign not wrap, shared foundation first, Hermes-creation centerpiece) and Affirmology_StarterPalette_Conversation.md (data-driven palette).

Sequencing: the SHARED FOUNDATION serves BOTH apps and is the first thing. The consumer app stays the July priority and keeps hardening; native Atlas scaffolds in parallel on the same foundation. The palette content is DATA, seeded later, so it does not block this phase.


KICKOFF (paste into Claude Code on the Mac)

We are starting the native build in phases. Read these first in /Users/jeffreyparker/CLAUDE/AFFIRMOLOGY/:
- CLAUDE.md and Affirmology_PROJECT_STATE.md (obey the hard rules)
- CLAUDE OUTPUTS/Affirmology/Affirmology_AppExperience_NorthStar_Vision.md (THE guiding vision: daily-week-one North Star, daily suite, the constellation, the Mindset Ninja Guide agent, relationships viral loop, audio metrics)
- CLAUDE OUTPUTS/Affirmology/Affirmology_AppArchitecture_Decision_v1.md (Atlas native, shared foundation first)
- CLAUDE OUTPUTS/Affirmology/Affirmology_HermesCreation_Brainstorm_v1.md (the Hermes creation experience)
- CLAUDE OUTPUTS/Affirmology/Affirmology_StarterPalette_Conversation.md (data-driven palette: format x theme)
- CLAUDE OUTPUTS/Affirmology/Affirmology_OriginSoulSong_Synthesis_v1.md (naming + the co-creation interaction patterns to give Hermes)
- the existing affirmology-app/ (consumer RN app) and affirmology-studio/api (backend)

PHASE 1, SHARED FOUNDATION (do first; serves both apps):
1. Extract the consumer app's reusable pieces into a SHARED foundation that both the consumer app and a new Atlas app can import: the design system (brand tokens emerald #0a2014 / gold #c89b3c / cream #faf6ee, Cormorant Garamond + Inter + JetBrains Mono), the component kit (buttons, cards, chat bubbles, oracle avatars, player controls), the magic-link AUTH flow, and the API client. Use a workspace/monorepo layout (e.g. a shared package or a shared/ dir) so there is ONE source for both apps.
2. Keep the consumer app fully working through the refactor (typecheck + iOS bundle export still pass). Do not regress it; it is the July priority.

PHASE 2, NATIVE ATLAS SCAFFOLD (parallel, on the shared foundation):
3. Scaffold a new Expo/React Native Atlas app (bundle id ai.affirmology.atlas) that imports the shared foundation. Screens for v1:
   - Login (magic-link, shared flow).
   - HERMES CREATION (the centerpiece): chat-PRIMARY with a reachable controls panel (person, structure, length, voice, render settings). Full council VISIBLE but HERMES-LED (Hermes is the host; Sophia/Chiron/Orpheus/Apollo etc. appear as contributors). Stream the council "working" steps as theater so the 45s+ wait feels intentional. Wire to the existing /api/hermes + /api/compose + /api/audio. Bake in the co-creation interaction patterns from the OriginSoulSong synthesis (propose then get the nod, offer options/A-B, own misses, reflect back, keep threads moving, verify).
   - People/charts (seed Jeff, Sol, Colin from known_charts).
   - Structures/categories: DATA-DRIVEN. Build the model so structures + categories are rows that can be added/edited/swapped with NO app release. Seed a small placeholder basic palette (Origin Soul Song, Daytime Anchor, Before Bed, Morning, The Mirror, a Human Design session, a Gene Keys Activation test, a Visioning audio); exact content is TBD and editable as data.
   - Listening Room (reuse /api/library): play, Love / Needs-work / Approve, and push-to-person.
4. CREATOR ROLES: build with roles in mind (a creator can create for themselves and people who opted in); seed only the team now, but the model supports elevating beta testers into creators soon.
5. A/B SUPPORT: add a variant-group concept to the backend (group audios as A/B of one intent) + a simple comparative view in Atlas, so we can A/B routinely and spread polling across testers later.

STANDING RULE (every feature, both apps): after a feature works and is verified, do a SIMPLIFY-AND-DOCUMENT pass: remove dead code, collapse duplication, simplify the complex parts, refresh comments + the README, and update PROJECT_STATE + the relevant spec. Verify first, then simplify; keep tests green; time-box it (reduce complexity, do not gold-plate).

GUARDRAILS: never touch the locked demo (affirmology-demo-site/server/api.py); no em dashes anywhere; every audio is chart-driven (no generic audios; structures shared, content never shared); reuse the engine + endpoints, do not rebuild the council/render/charts; verify before claiming done (typecheck, build, tests). Do NOT block on Apple/Xcode/2FA/secrets you lack -> log them to CLAUDE OUTPUTS/Affirmology/MORNING-FOR-JEFF.md and keep building. Commit in small steps.

Report progress to CLAUDE OUTPUTS/Affirmology/BUILD-PROGRESS.md and update PROJECT_STATE when you pause.

Notes