RiseMind Content Report

Prepared by Hermes · July 9, 2026 · Data reconciled live from canonical source files + live production catalog + ElevenLabs API
Purpose of this document: a complete, standalone reference of RiseMind's content system — inventory, labeling scheme, the 12-month drop calendar, and exactly what's live in the shipped app today vs what exists as reserve/future content. Written so a new agent (human or AI) with zero prior context can pick up content work from this document alone.
Contents

TL;DR — Key Numbers

598
Affirmations LIVE (launch)
752
Quotes LIVE (launch)
3,970
Affirmations in full library
2,576
Quotes in full library
10
Moods (affirmations)
8
Quote categories
3
Voices (Adam/Bella/Sarah)
1,350
Live audio clips × 3 voices verified 200 OK
Three different content populations exist and disagree in size — this is expected, not a bug. There is no single automated pipeline from script-written → recorded → uploaded → catalog updated → app-fetched. Every number in this report is labeled with its source. When answering "how much content do we have," always specify LIVE (launch catalog, what users actually hear) vs FULL LIBRARY (everything ever written, includes unreleased future drops) vs RECORDED (has an MP3 somewhere on disk, may not be deployed).

Content Types

RiseMind has exactly two content types, and both are fully voiced — every affirmation and every quote has (or is meant to have) an MP3 in all 3 voices.

TypeWhat it isSchema fields
AffirmationsShort first-person present-tense statements, tagged by mood/tone/time-of-day, played on the home/check-in flowid, text, category, mood, tone, goal, timeOfDay
QuotesAttributed quotes from real historical/verified authors, tagged by category + mood/goal/tone/time arrays (a quote can match multiple moods)id, text, author, category, moods[], goals[], tones[], timeOfDay

Both are recorded via ElevenLabs across the same 3 voices: Adam (Dominant, Firm), Bella (Professional, Bright, Warm), Sarah (Mature, Reassuring, Confident). All current live and recorded audio uses the eleven_multilingual_v2 model (confirmed 100% via full history audit, zero remaining on the older eleven_turbo_v2 model — see Audio Production Status below).

Content Tier Structure

The library naturally splits into three tiers by ID range and deployment status:

TierDefinitionBadge
LIVEExact IDs currently referenced by the production content-catalog.json served to the app. This is ground truth for "what ships today."LIVE
PENDINGWritten/QA'd content with schema complete, recorded or partially recorded, sitting below/around the live high-water mark but not yet wired into the live catalog.PENDING
RESERVEFuture drop-calendar content — written and merged into the master JSON, but not recorded and not live. This is intentional backlog, not a gap.RESERVE
Anything not explicitly in the live launch catalog defaults to RESERVE regardless of how complete or well-QA'd it looks in a working folder — never treat a bigger/newer local library as "what should be live" without an explicit go-ahead.

What's LIVE for Launch (shipped in the app today)

Source: https://risemind-audio.pages.dev/catalog/content-catalog.json (catalogVersion 1.0.1-audio-map-fix, last updated 2026-07-05). This is what the app actually fetches and plays — the single source of truth for "what's live."

Live Affirmations — 598 total (a0001–a0696, non-contiguous)

MoodCount
motivated76
stressed75
overwhelmed72
anxious69
happy63
low-energy56
neutral56
focused56
grateful52
tired13
confident6
calm4

Note: live-catalog mood labels differ slightly from the full-library schema (e.g. "low-energy"/"neutral"/"focused" appear here but not in the 10-mood full-library set below) — this is a known artifact of the repair/remap described in Known Issues. Tone labels in the live catalog also use different words (gentle/direct/logical/encouraging/calm/energetic) than the full library's 4-tone system (soft/spiritual/tough-love/logical) — again, a remap artifact, not two different schemas in active use.

Live Quotes — 752 total (q00001–q00752, contiguous)

CategoryCount
courage115
growth104
success91
focus91
peace90
wisdom88
love88
strength85

Live Audio Verification

1,350
Total live entries (598+752)
4,050
Audio files (1,350 × 3 voices)
100%
Verified HTTP 200 on CDN
100%
On eleven_multilingual_v2

Audio CDN: https://risemind-audio.pages.dev (separate Cloudflare Pages project from the app itself — hosts only MP3s + the catalog JSON, deployed via wrangler pages deploy as full snapshots).

Full Library Inventory (canonical source files)

Source: constants/affirmation-data.json + constants/quote-data.json in the canonical repo (/Users/frikkie/.openclaw/workspace/projects/risemind-app/). This is the complete text/metadata library — includes all future drop-calendar content, most of which is intentionally not yet live.

Full Library Affirmations — 3,970 total (a0001–a3970)

MoodCount
Perfectly even — 397 per mood × 10 moods = 3,970
motivated / happy / anxious / stressed / tired / overwhelmed / calm / confident / grateful / energised397 each
ToneCount
spiritual1,087
logical1,087
soft964
tough-love832
Time of DayCount
morning1,234
afternoon1,017
night907
evening812

Full Library Quotes — 2,576 total (q00001–q02576)

CategoryCount
Perfectly even — 322 per category × 8 categories = 2,576
success / growth / courage / peace / focus / strength / wisdom / love322 each

328 unique verified authors across the full quote library (see Author Policy below).

365 quotes (q01228–q01632) have incomplete schema — missing moods, goals, tones, timeOfDay fields entirely (only have id/text/author/category). These are RESERVE tier (not live), but must be backfilled before they can ever go live — the app's filter/recommendation logic depends on those fields. See Known Issues.

Labeling Scheme / Schema Reference

Affirmation object (full library)

{
  "id": "a0361",
  "text": "I move through overwhelm one breath at a time.",
  "category": "calm",
  "mood": "overwhelmed",
  "tone": "soft",
  "goal": "wellbeing",
  "timeOfDay": "night"
}
FieldAllowed values
moodmotivated, happy, anxious, stressed, tired, overwhelmed, calm, confident, grateful, energised (10 total — grateful/energised added Month 4)
tonesoft, spiritual, tough-love, logical (4 total)
timeOfDaymorning, afternoon, evening, night
goalwellbeing, discipline, career, confidence, relationships, fitness, performance, growth, vitality, achievement, productivity, mindset, resilience, clarity, gratitude, abundance (loosely used, wellbeing dominant)
categoryBroader theming tag (overlaps with mood in the full library) — e.g. calm, energised, resilience, healing, selfLove, focus, energy, sleep, strength, abundance

Quote object (full library)

{
  "id": "q00453",
  "text": "The impediment to action advances action.",
  "author": "Marcus Aurelius",
  "category": "wisdom",
  "moods": ["calm", "focused"],
  "goals": ["mindset"],
  "tones": ["logical"],
  "timeOfDay": "any"
}
FieldAllowed values
categorylove, peace, wisdom, growth, courage, focus, success, strength (8 total — do not add new categories without an app schema update)
moods, goals, tonesArrays — a quote can match multiple moods/goals/tones, unlike affirmations which have single values

Tone Voice Guidance

ToneCharacterExample
SoftGentle, validating, permissive"It's okay to move slowly today."
SpiritualGrowth, higher self, purpose"I am guided toward what serves me."
Tough-loveDirect, action-oriented, no excuses"I don't wait to feel ready. I act, and readiness follows."
LogicalEvidence-based, systematic reframe"Calm is not absence of difficulty; it is a deliberate choice."

Night content rule: wind-down only, no action language. Frame around rest/release/tomorrow. E.g. "I did enough today. I am enough today."

12-Month Content Drop Calendar

Full plan authored June 2026. All text content for all 12 drops is written and merged into the full library JSON — audio recording and live deployment lag behind (see Audio Production Status). ID ranges below refer to the full-library numbering.

DropThemeNew ScriptsNew QuotesAffirmation IDsQuote IDs
Launch gap-fillMoods / Night / Logical tone completion238150a0361–a0598q00603–q00752
Month 1 (T+30)Audio Month — voice diversity showcase15025a0599–a0748q00753–q00777
Month 2 (T+60)Author Series (Marcus Aurelius, Maya Angelou, Brené Brown, James Clear spotlight)50100a0749–a0798q00778–q00877
Month 3 (T+90)Stoic Series — Goal Achiever persona, Adam voice featured10075a0799–a0898q00878–q00952
Month 4 (T+120)New moods: Grateful + Energised introduced12050a0899–a1018q00953–q01002
Month 5 (T+150)Mental Health theme — Anxiety Manager persona, Bella voice, no toxic positivity7550a1019–a1093q01003–q01052
Month 6 (T+180)Mid-year motivation sprint5050a1094–a1143q01053–q01102
Month 7 (T+210)Morning ritual deep dive (all 50 tagged morning)5050a1144–a1193q01103–q01152
Month 8 (T+240)Night ritual / sleep prep (all 50 tagged night), Bella featured5025a1194–a1243q01153–q01177
Month 9 (T+270)Resilience & tough-love, Adam voice, r/stoicism audience5025a1244–a1293q01178–q01202
Month 10 (T+300)Community & love, UGC push, Bella/Sarah5025a1294–a1343q01203–q01227
Month 11 (T+330)Reflection & gratitude (evening/night-heavy)250a1344–a1368
Month 12 (T+365)New Year reset — identity-building, NOT "new year new me"250a1369–a1393

Original 12-month plan total: 1,033 new affirmations + 625 new quotes (on top of the pre-launch base). The full library has since grown well beyond this original plan (3,970 affirmations / 2,576 quotes) via subsequent credit-driven balancing/expansion rounds not itemised in the original per-month calendar above — see next section.

Credit-Driven Expansion Rounds (beyond the original 12-month plan)

When ElevenLabs character budget becomes available, the standard process is: (1) equalize thin mood/category buckets up to the current max, (2) flat per-bucket growth with remaining budget. This produced two confirmed expansion rounds:

RoundAffirmationsQuotesResult
Round 1 (~June 30)2,669 → 3,540 (Phase 1 balance) → 3,990 (Phase 2 flat +45/mood)1,924 → 2,232 (Phase 1) → 2,592 (Phase 2 flat +45/category)97.5% of usable ElevenLabs budget spent
Round 2→ 3,970 (397/mood flat)→ 2,576 (322/category flat)Current full-library state

Note: these expansion counts are net of subsequent QA rejections/dedup passes — see Known Issues for QA gate details.

Competitor comparison (as of the original 12-month plan authoring): ThinkUp (0 quotes, user-recorded only), I Am (~500 quotes / ~800 scripts, basic TTS), Shine (~300 quotes / ~400 scripts, human voice, 5 moods) — RiseMind's moat is the mood × time-of-day × tone matrix combined with fully-verified quote authorship, which no competitor matches simultaneously.

Audio Production Status

Voice Model

Confirmed July 2026 (full re-audit): 100% of live launch-catalog audio (1,350 entries × 3 voices = 4,050 files) is generated on eleven_multilingual_v2. Zero remain on the legacy eleven_turbo_v2 model. This resolved a previously-tracked partial migration where roughly half of quotes were still on the old model.

Note on "multilingual": eleven_multilingual_v2 is the name of the ElevenLabs TTS model (capable of 29 languages if fed non-English text) — it is NOT an indicator that RiseMind ships multi-language content. Every script and quote in the library is written in English. All audio, regardless of model, is English-language.

Voice IDs

VoiceElevenLabs Voice IDCharacter
SarahEXAVITQu4vr4xnSDxMaLMature, Reassuring, Confident
Bellahpp4J3VqNfWAUOO0d1UsProfessional, Bright, Warm
AdampNInz6obpgDQGcFmaJgBDominant, Firm

Recording Status (full library, on-disk MP3s)

Content typeIn full libraryRecorded (≥1 voice on disk)Fully missing
Affirmations3,9702,5711,399 (a1772–a3970)
Quotes2,5762,5760

"Recorded" here means present on the Desktop MP3 working library (/Users/frikkie/Desktop/RiseMind Content/MP3s/) — this does not necessarily mean deployed to the live CDN. Only the 598+752 LIVE tier is confirmed deployed and HTTP-verified.

ElevenLabs Account Status (checked live, July 9 2026)

Pro
Subscription tier
183,036
Characters used this cycle
609,990
Monthly character limit
426,954
Remaining this cycle

30% of monthly budget used · resets Aug 8, 2026

Cost formula: ~89 chars/affirmation × 3 voices ≈ 267 chars each. ~75 chars/quote × 3 voices ≈ 225 chars each. (Do not use the commonly-cited 120-char average — it overstates real cost by ~35%.)

Content Pipeline / File Locations

LocationContentsRole
constants/affirmation-data.json, constants/quote-data.jsonFull library (text + metadata)Canonical source, git-tracked, bundled into APK via static import
constants/audio-manifest.jsonList of 1,500 base-build MP3 filenamesOriginal launch manifest (pre gap-fill)
/Users/frikkie/Desktop/RiseMind Content/MP3s/{affirmations,quotes}/{voice}/Working MP3 libraryRecording output before CDN upload — has mixed filename conventions across recording batches (see Known Issues)
https://risemind-audio.pages.devLive CDN — MP3s + catalog/content-catalog.jsonWhat the app actually fetches/plays. Cloudflare Pages project, deployed via wrangler pages deploy as full snapshots (never a delta — partial deploys 404 out everything not included)
/Users/frikkie/ObsidianVault/agent-shared/risemind-content-strategy-complete.mdOriginal full content strategy docSource-of-truth planning document behind this report
Important architectural note: the app does NOT fetch content data (text/metadata) remotely — constants/quotes.ts does a static import quoteData from './quote-data.json', bundled by Metro at build time. Only MP3 audio is remote. This means uploading new MP3s to the CDN alone does NOT make new content appear — any drop adding new IDs requires editing the bundled JSON + a full app rebuild + new APK, until a remote-fetch/catalog system is built into the app itself (content-side catalog exists and is verified; app-side fetch logic does not exist yet — that's Codex/engineering scope).

Quote Author Policy — Absolute Rule

REAL AUTHORS ONLY. No exceptions, ever. Never use fictional/invented names, "plausible scholar" filler, internet quote personalities with no verifiable identity, or quotes you're not confident are correctly attributed.

Known internet fabrications — banned, never use: Roy T. Bennett, Steve Maraboli, Robert Tew, T. Tolis, S.A. Jefferson-Wright, Ziad K. Abdelnour, Chris Grosser, Suzy Kassem, Shannon L. Alder, Mandy Hale, Astrid Alauda, George Addair, Robert Brault, Bryant McGill.

Verified real authors currently drawn from (partial list, 328 unique authors total in library): Marcus Aurelius, Seneca, Epictetus, Aristotle, Plato, Confucius, Lao Tzu, Rumi, Kahlil Gibran, Ralph Waldo Emerson, Henry David Thoreau, Viktor Frankl, Carl Jung, Maya Angelou, Nelson Mandela, Martin Luther King Jr., Brené Brown, James Clear, Ryan Holiday, Naval Ravikant, Albert Einstein, Mark Twain, and 300+ others — full list cross-referenced against Wikipedia/published works before use.

Known Issues / Open Items

IssueScopeStatus
365 quotes (q01228–q01632) missing moods/goals/tones/timeOfDay fieldsReserve tier, not liveNeeds backfill before these can ever go live
1,399 affirmations (a1772–a3970) not yet recorded in any voiceReserve tier, not liveRecording backlog — budget available (426k chars remaining)
Live catalog affirmation labels (mood/tone) use different vocabulary than full-library schemaLive tier onlyDocumented remap in catalog's own repair metadata — not a defect, see catalog's repairSource field per entry
Personalization ranking bug (Boost→Stress could surface a Love-category quote)App logic, not contentFixed in source by Codex July 9 (AppContext.tsx) — pending rebuild + Pixel verification. 10 love+stressed quotes reviewed and judged NOT mislabeled (compassion/acceptance quotes, not romantic) — no content relabel needed for this fix
Cross-batch quote duplication riskProcess risk for future batchesParallel quote-generation batches gravitate to the same famous lines (~17% dupe rate observed in one round) — requires a dedup pass after every batch, not just at the end
Voice intro/preview clips are bundled app assets, not CDN-servedSeparate asset classassets/audio_intros/{voice}-intro.mp3 via require() — re-recording these requires an app rebuild regardless of CDN state

Glossary

LIVE / launch catalogThe exact content currently served by content-catalog.json — what a real user hears today
Full libraryEverything ever written across all drops, live and future — the canonical JSON files
RecordedHas an MP3 file present somewhere on disk — does not imply deployed/live
Drop-pendingWritten + schema-complete but below/around the settled high-water mark, not yet wired into live catalog
ReserveFuture drop-calendar content, intentionally not live yet
Repair / remapA documented historical fix where audio-file-ID-to-spoken-content mapping was corrected after an STT (speech-to-text) audit found drift — see catalog's own repair metadata block