Home / Ops / More in this area
Updated Jun 28, 2026 · Affirmology_Maya_Player_Spec_v1.md
Jeff approved this design in the Cowork mockup (maya_player_redesign_v2_orb_logo). This is the exact target for Code to implement in the React Native consumer app (Maya). Build to match; do not improvise the layout.
#0a2014, darkest #061b10, card emerald #112e26, quiet glass rgba(16,46,36,0.5).#0c241a -> #071a11 -> edge #050f0a (so the art's near-black edges MERGE, no frame).#c89b3c, soft #d9b15a, bright #ecd9a8. Cream: #faf6ee, muted #cdbfa3. Line: #1f4536, soft gold line rgba(217,177,90,0.18).Brand/transparent/Affirmology Logo One Orb Transparent.png (transparent PNG), ~20px, to the LEFT of the wordmark. Wordmark gold #c89b3c, JetBrains Mono ~10-11px, letter-spacing 0.34em.rgba(217,177,90,0.12) under it): eyebrow = category in mono gold caps (e.g. "DAILY"); title = the track name in Cormorant Garamond weight 600 UPRIGHT (NOT italic), cream #faf6ee, ~25px; sub = duration in muted-cream mono caps (e.g. "27 MINUTES").#112e26, 16px radius, 1px gold-tinted border, a brighter gold thread rgba(217,177,90,0.4) along the TOP edge only): contains ONLY the player controls.
- Transport row, all visible on load in a paused state: rewind, a round gold play/pause button (gold #c89b3c, dark glyph), forward.
- Scrubber: thin track #1f4536 with a gold #c89b3c progress fill and a bright #ecd9a8 dot at the playhead.
- Below: current time (left), a centered Repeat toggle (mono caps), total time (right), all muted-cream mono ~10px.rgba(16,46,36,0.5)): eyebrow "HOW DID THIS LAND?" mono gold caps; a 5-star row (gold #c89b3c, unfilled stars at 0.3 opacity); a note field (dark #0a2014, line border, Cormorant italic placeholder "What landed for you?").The astrolabe video is BOUND TO THE AUDIO PLAY STATE: - On PLAY: the video starts/plays. - On PAUSE: the video pauses (freezes on its current frame). - It loops while playing. - BACKGROUND/RETURN: if the user leaves the app (or this screen) while audio keeps playing and then RETURNS to this screen, the video RESUMES in sync with the audio (re-attach and play on screen focus if audio is playing; stay paused if audio is paused). This fixes the earlier bug where the video stopped and did not come back. - Implementation note: sync the video player to the audio player's isPlaying state, and re-sync on screen focus / app foreground (useFocusEffect / AppState 'active').