Purpose: single source for a first-time engineer who needs to understand the entire repository and make safe, cross-surface edits.
Last updated: 2026-06-29
This document is not a replacement for the existing deep references. It is an operations-oriented atlas that tells you:
Open these files before making behavior changes:
README.mdAGENTS.mddocs/contracts/speech-workflow-contract.mddocs/contracts/native-speech-parity-anchor.mddocs/reference/ios-file-inventory.mddocs/reference/android-file-inventory.mddocs/reference/backend-functions-deep-dive.mddocs/reference/backend-functions-detailed-map.mddocs/ops/* if you are touching deployment, billing, or migrations.If the request spans backend + one client surface, treat both inventories and the same backend contract docs as required.
ios/) composes screen state, local settings, and service calls.android/) follows feature modules with ui/presentation/data.web/python-web-app/) is a compatibility runtime and parity bridge; web/marketing/ is the public static site.backend/supabase/functions/ and backend/supabase/migrations/.legacy_runtime_adapter and seam boundaries intact unless a migration contract update is required.These files are authoritative per-file responsibility lists:
docs/reference/ios-file-inventory.mddocs/reference/android-file-inventory.mddocs/reference/web-file-inventory.mdUse these when you need explicit “what each file does.” Treat generated artifacts (build outputs, cache assets, coverage artifacts) as regenerate-only, not manual edit targets.
ios/SpeakTrueApp.swiftios/SpeakTrue/ContentView.swiftios/SpeakTrue/AuthGateView.swiftios/SpeakTrue/StartupLoadingView.swiftios/SpeakTrue/AuthService.swiftios/SpeakTrue/SupabaseClientProvider.swiftios/SpeakTrue/AuthState.swiftUse these files when touching startup flow, session bootstrap, app shell routing, or auth gating.
TTSViewModel.swift, TextToSpeechView.swift, TTSCatSelectView.swift, VoiceModelSelectionView.swift, AIProxyService.swift.STTViewModel.swift, STSViewModel.swift, SpeechToSpeechView.swift, SpeechToTextView.swift, RealtimeSTTService.swift, LiveVoiceSTSService.swift, AudioRecorderService.swift, LiveVoiceAudioPlayer.swift.SoundboardView.swift, SoundboardViewModel.swift, SoundboardCacheManager.swift, SoundboardCacheIndex.swift, SoundboardAudioClips.swift, SBCategoryDetailView.swift, SoundboardCategories.swift.VoiceCloneViewModel.swift, VoiceCloneTabView.swift, AIDataSharingAgreementService.swift, AIDataSharingConsent*, PronunciationGlossaryView.swift, PronunciationGlossaryViewModel.swift.SettingsView.swift, SettingsTabView.swift, SettingsModels.swift, UserSettings.swift, UserSettingsSyncService.swift, AIDataSharingConsentGateView.swift.AIProxyService.swift, CloudStorageService.swift, StorageManager.swift, AudioPlayerService.swift, DebugLogger.swift, AsyncTimeout.swift.ios/Config/App.Debug.xcconfig, ios/Config/App.Release.xcconfigios/SpeakTrue.xcconfig? (if present in local branch), ios/SpeakTrue.entitlements, ios/Info.plistios/SpeakTrueTests/* and ios/SpeakTrueUITests/*android/app/src/main/java/com/speaktrue/app/SpeakTrueApp.kt, MainActivity.kt, ui/navigation/AppNavGraph.ktandroid/settings.gradle.kts, android/build.gradle.kts, android/app/build.gradle.kts, android/gradle/libs.versions.tomlandroid/app/src/main/java/com/speaktrue/core/*features/tts/data/*, features/tts/presentation/TTSViewModel.kt, features/tts/ui/TTSScreen.kt, plus voice/model/state mapping modules.features/stt/*, features/sts/*, features/sts/presentation/STSViewModel.kt.features/soundboard/data/*, features/soundboard/presentation/SoundboardViewModel.kt, features/soundboard/ui/SoundboardScreen.kt.features/voiceclone/data/*, features/voiceclone/presentation/*, features/voiceclone/ui/*.features/settings/*, features/agreement/*.features/**/*Test*, android/app/src/test, android/app/src/androidTest.web/marketing/index.html, web/marketing/auth/callback/index.htmlweb/marketing/scripts/*.jsweb/marketing/styles/*.css_headers, _redirects, site.webmanifest, deploy-version.jsonweb/python-web-app/wsgi.py, src/app.py, src/config.py, src/legacy_runtime.py, src/legacy_runtime_adapter.pyweb/python-web-app/src/routes/*.pyweb/python-web-app/src/services/*.pyweb/python-web-app/src/storage/*.pyweb/python-web-app/src/storage_provider.pyweb/python-web-app/static/js/*web/python-web-app/templates/**/*.htmlweb/python-web-app/Dockerfile, Procfile, docker-compose.yml, docker-entrypoint.sh.For each function, edit the directory and the linked shared modules when contract changes occur.
/account-delete
Folder: backend/supabase/functions/account-delete
Purpose: delete auth + user-owned runtime resources under authenticated control.
/billing-apple-sync
Folder: backend/supabase/functions/billing-apple-sync
Purpose: import and normalize Apple transaction updates into entitlement state.
/billing-apple-notifications
Folder: backend/supabase/functions/billing-apple-notifications
Purpose: process webhook events and map transaction state to entitlement transitions.
/billing-google-play-sync
Folder: backend/supabase/functions/billing-google-play-sync
Purpose: validate Play billing payloads and apply entitlement updates.
/billing-stripe-webhook
Folder: backend/supabase/functions/billing-stripe-webhook
Purpose: verify Stripe signatures, process events, persist usage/billing outcomes.
/bug-report-submit
Folder: backend/supabase/functions/bug-report-submit
Purpose: accept and persist client-side bug reports.
/byok-resolve, /byok-upsert
Folders: backend/supabase/functions/byok-resolve, backend/supabase/functions/byok-upsert
Purpose: fetch/store BYOK credential metadata for provider calls.
/clip-order-batch
Folder: backend/supabase/functions/clip-order-batch
Purpose: persist ordered clip arrays with ownership checks.
/language-recommend
Folder: backend/supabase/functions/language-recommend
Purpose: provide recommended language suggestions for STT/STS.
/models-list
Folder: backend/supabase/functions/models-list
Purpose: return available TTS model list with entitlement/contract filtering.
/voices-list
Folder: backend/supabase/functions/voices-list
Purpose: return available voice list by entitlement and policy rules.
/pronunciation-dictionary
Folder: backend/supabase/functions/pronunciation-dictionary
Purpose: read/write pronunciation hints used by speech flows.
/quota-status
Folder: backend/supabase/functions/quota-status
Purpose: expose quota/usage state used by mobile and web clients.
/soundboard-save-generated
Folder: backend/supabase/functions/soundboard-save-generated
Purpose: persist generated clip metadata and storage linkage.
/soundboard-delete
Folder: backend/supabase/functions/soundboard-delete
Purpose: remove generated clip records plus storage objects.
/soundboard-clip-ingest
Folder: backend/supabase/functions/soundboard-clip-ingest
Purpose: scaffold for future ingestion contract; keep guarded until implementation is complete.
/stt-transcribe
Folder: backend/supabase/functions/stt-transcribe
Purpose: non-streaming STT conversion with provider calls + policy + persistence.
/sts-live-voice-tts-session
Folder: backend/supabase/functions/sts-live-voice-tts-session
Purpose: start low-latency live STS voice-to-speech session.
/sts-near-realtime-session
Folder: backend/supabase/functions/sts-near-realtime-session
Purpose: create near-real-time STS session envelope.
/sts-realtime-session
Folder: backend/supabase/functions/sts-realtime-session
Purpose: create realtime STS session and return connection metadata.
/sts-realtime-finalize
Folder: backend/supabase/functions/sts-realtime-finalize
Purpose: finalize STS artifacts (transcript + audio + metadata) on completion.
/sts-live-interpreter-session
Folder: backend/supabase/functions/sts-live-interpreter-session
Purpose: scaffold-only live interpreter session entrypoint.
/sts-live-interpreter-tts-session
Folder: backend/supabase/functions/sts-live-interpreter-tts-session
Purpose: scaffold-only live interpreter TTS session contract.
/style-presets
Folder: backend/supabase/functions/style-presets
Purpose: manage style preset data used by speech generation.
/tts-generate
Folder: backend/supabase/functions/tts-generate
Purpose: core TTS validation, usage checks, provider invocation, contract response.
/user-settings-get
Folder: backend/supabase/functions/user-settings-get
Purpose: return user settings with migration-safe defaults.
/user-settings-update
Folder: backend/supabase/functions/user-settings-update
Purpose: patch user settings changes with validation.
/voice-clone-preflight
Folder: backend/supabase/functions/voice-clone-preflight
Purpose: validate clone eligibility and preconditions.
/voice-clone-create
Folder: backend/supabase/functions/voice-clone-create
Purpose: create backend voice clone and register provider metadata.
/voice-clone-delete
Folder: backend/supabase/functions/voice-clone-delete
Purpose: delete a user clone and clean provider-side references.
/waitlist-signup
Folder: backend/supabase/functions/waitlist-signup
Purpose: capture waitlist leads with dedupe and schema guarantees.
For shared backend contract behavior that affects many functions, inspect:
backend/supabase/functions/_shared/cors.tsbackend/supabase/functions/_shared/auth-context.tsbackend/supabase/functions/_shared/types.tsbackend/supabase/functions/_shared/usage.tsbackend/supabase/functions/_shared/quotas.tsbackend/supabase/functions/_shared/entitlements.tsbackend/supabase/functions/_shared/billing-entitlement-policy.tsbackend/supabase/functions/_shared/private-voice-access.tsbackend/supabase/functions/_shared/byok.tsbackend/supabase/functions/_shared/subscription-gating-config.tstts-generate, voices-list, models-list, optional style-presets.ios/SpeakTrue/*TTS* + AIProxyService, Android features/tts, web web/python-web-app/src/routes/tts.py and service path.ios/SpeakTrueTests/TTS*, Android contract tests.stt-transcribe, sts-near-realtime-session, sts-realtime-session, sts-realtime-finalize, sts-live-voice-tts-session.soundboard-save-generated, soundboard-delete, clip-order-batch.voice-clone-preflight, voice-clone-create, voice-clone-delete, BYOK functions if needed.user-settings-get, user-settings-update, quota-status, and optional BYOK/pronunciation/language endpoints.billing-* functions + _shared/* entitlement modules + migrations.bash scripts/coverage_backend_contracts.shbash scripts/regression_migration_paths.shdocs/ops/ migration smoke and gates as applicable../gradlew -p android :app:compileDebugKotlin./gradlew -p android :app:testDebugUnitTest./gradlew -p android :app:lintDebug./gradlew -p android :app:bundleRelease for release outputdocs/ops/ANDROID_PLAY_RELEASE_CHECKLIST.md and evidence templates before publish.python3 -m pytest web/python-web-app/tests and app entrypoint smoke.legacy_runtime* or adapters.Any change that touches entitlement, usage, voice clones, soundboard schema, or settings shape must include matching migration work:
backend/supabase/migrations (additive when possible).If your immediate task is “what does file X do”, this is the canonical path:
ios, android, web, or backend.This file is intentionally cross-referenced so that no behavior change starts from guessing.