ALL MEMOS Download .docx

Silent Infinity — Mobile app + ultra-HQ audio strategy

Version: v1 · 2026-04-21 · HERALD

Authority: design doc, execute on your approval

Rough-Ask: R0113

> Harnoor: "#1 requested feature is voice and app... look up ideas for building app and submitting to app stores... android google apple etc samsung... use common framework like Flutter etc... also add higher quality nature sounds these are low... like ultra high quality... also Dispenza-based sound options."

---

PART 1 — Audio upgrade (ultra-HQ + Dispenza-aligned modes)

1.1 The problem

What ships today is Web-Audio-synthesized filtered noise. It's cheap ($0), runs offline, but it sounds like it's synthesized — because it is. No real rain has a single filtered-noise signature. Real rain has droplet splashes, wind layers, distance variation. Users notice.

1.2 The fix — three layers

Layer A. Real recorded beds (nature sounds — the main ask).

Source: Pixabay Music Library + Freesound CC0 + Mixkit. License: free for commercial use, no attribution required (Pixabay / Mixkit) or CC0 (Freesound). Host: self-host on S3 → CloudFront for speed + reliability (not hotlink — Pixabay breaks hotlinking).

Launch set (10 tracks):

| Bed | Duration | Source | Est. size (48kbps OGG) |

|---|---|---|---|

| Gentle rain (indoor) | 5 min loop | Pixabay | 1.8 MB |

| Heavy tropical rain | 5 min loop | Pixabay | 1.8 MB |

| Ocean waves (slow) | 5 min loop | Pixabay | 1.8 MB |

| Mountain stream / brook | 5 min loop | Freesound CC0 | 1.8 MB |

| Forest birdsong | 5 min loop | Pixabay | 1.8 MB |

| Crackling fireplace | 5 min loop | Mixkit | 1.8 MB |

| Night crickets | 5 min loop | Pixabay | 1.8 MB |

| Tibetan singing bowls | 5 min loop | Freesound CC0 | 1.8 MB |

| Pink noise (pure) | 2 min loop | Generated (48kHz AAC) | 0.7 MB |

| Brown noise (pure) | 2 min loop | Generated | 0.7 MB |

Total: ~17 MB. Lazy-loaded on first play. Cached for 30 days in browser + CloudFront edge.

Format: OGG Vorbis at 48kbps VBR for Chrome/Firefox/Edge, fallback AAC 64kbps for Safari. <audio> element with both sources. Mono (no stereo — ambient loops benefit from mono-gravity).

1.3 Dispenza-aligned mode layer

Per the earlier SOUND-SCIENCE-MODES-RETENTION memo. Six named modes, each layering:

| Mode | Carrier | Binaural Δ | Bed | Claim |

|---|---|---|---|---|

| Stillness (meditation) | 432 Hz | 7 Hz theta | singing bowls | calm attention |

| Heart (Dispenza coherence) | 528 Hz | 8 Hz alpha→theta | ocean | relaxation |

| Focus (deep work) | 220 Hz | 14 Hz beta + 40 Hz gamma | gentle rain | sustained attention |

| Flow (creative) | 256 Hz | 10 Hz alpha | forest | open monitoring |

| Rest (wind down) | 110 Hz | 3 Hz delta | fireplace | parasympathetic shift |

| Sleep (drift) | 65 Hz | 2 Hz delta | brown noise, 20-min fade | sleep-onset |

Ethics: each mode card carries a tiny "?" → opens the transparency note: "These frequencies are used in contemplative and research traditions. Silent Infinity is not a medical device and does not claim to treat any condition. Binaural effect requires headphones."

1.4 What ships when

Week 1 (this week):

Week 2:

Week 3:

---

PART 2 — The mobile app

2.1 The three paths (ranked by speed + risk)

| Path | Time to app-store ship | Code share % | Risks |

|---|---|---|---|

| A. PWA (wrap current web) | 0-1 day | 100% | Not in app stores. Loses voice UX on iOS. Limited native features. |

| B. Capacitor wrap (Ionic — HTML/JS shell) | 3-5 days | ~95% | App-store listings real, but perceived as "web in a native wrapper." Apple reject-risk low but possible. |

| C. Flutter native (rebuild UI) | 3-4 weeks | ~70% (Dart + Bedrock SDK reuse) | Higher quality feel, native audio APIs, iOS voice works well. More work upfront. |

| D. Native iOS + Android (Swift + Kotlin) | 8-12 weeks | 0% | Highest quality. Separate codebases. Only for teams with iOS+Android engineers. |

2.2 My recommendation — Flutter

Per your direction + this reality:

1. Flutter delivers native-feel on both platforms from one Dart codebase. Google's own flagship apps (Nubank, BMW, Alibaba, even parts of Google Pay) use it.

2. Audio + voice APIs are first-classjust_audio package for HLS/MP3, flutter_sound for mic capture, record for voice — all mature, well-maintained.

3. Native web support too — Flutter Web means our web version could eventually become the same codebase. Big long-term win.

4. Hot reload = faster iteration than any native alternative.

5. Store review both platforms in parallel. One app bundle for Android (APK + AAB), one IPA for iOS.

6. Code share ~70% because UI is rebuilt, but business logic / API calls / state / routing all shared.

2.3 Flutter app architecture


silent-infinity-app/
├── lib/
│   ├── main.dart                  # app entry + router
│   ├── api/
│   │   ├── mirror.dart            # /invoke streaming client
│   │   ├── voice.dart             # /voice-ws WebSocket client
│   │   └── auth.dart              # Cognito SSO
│   ├── models/
│   │   └── conversation.dart      # thread, turn, theme tags
│   ├── screens/
│   │   ├── home.dart              # greeting + starters
│   │   ├── chat.dart              # main chat (text + voice)
│   │   ├── voice.dart             # dedicated voice-mode screen
│   │   ├── modes.dart             # Stillness/Heart/Focus/etc. modes
│   │   ├── constellation.dart     # theme map (per Constellation plan)
│   │   └── settings.dart
│   ├── widgets/
│   │   ├── starter_chip.dart
│   │   ├── mirror_bubble.dart
│   │   ├── presence_orb.dart
│   │   ├── breath_orb.dart
│   │   └── sound_dock.dart
│   ├── services/
│   │   ├── audio.dart             # just_audio + mode layering
│   │   ├── memory.dart            # Hive / Drift local cache
│   │   ├── crisis.dart            # local regex pass mirroring server
│   │   └── analytics.dart         # events → EMF-style payload
│   └── theme/
│       ├── colors.dart            # brand palette (orange/blue/green/cream)
│       └── typography.dart        # Lora + Poppins
├── ios/                           # iOS runner (minimal config)
├── android/                       # Android runner (minimal config)
└── pubspec.yaml                   # 12-15 dependencies

2.4 App-store submission checklist

iOS App Store

- Guideline 1.4.1 (Physical Harm) — MUST NOT present as medical/therapeutic. Our /safety + ToS already handle this.

- Guideline 4.5.2 (Minor Safety) — 13+ attestation + crisis resources already covered.

- Guideline 3.1.1 (IAP) — any premium tier MUST go through Apple IAP; no external links to pay. Important for future pricing.

Google Play

Samsung Galaxy Store

Microsoft Store (Windows 11)

2.5 My ship plan

| Week | Deliverable |

|---|---|

| 1 | Apple + Google dev account enrollment verified. Flutter project scaffolded. Screens: home, chat (text). |

| 2 | Chat works end-to-end against Bedrock backend. Cognito login (Google + Apple + email). Memory synced. |

| 3 | Voice mode integrated (WebSocket → voice MVP we're building). Modes + Constellation screens. |

| 4 | Screenshots + App Store listing written. TestFlight beta uploaded. |

| 5 | App Store + Google Play submission. Review period. |

| 6 | Public launch on both stores. |

Total: 6 weeks.

2.6 Costs (one-time + recurring)

---

PART 3 — Viral share images (Instagram / TikTok / Facebook)

When a user marks a turn as a "notable moment" (🪷 reaction coming back?) or taps a new "share" button, we generate a beautiful branded image client-side.

3.1 Rendering approach (zero-cost, client-side)

Use HTML <canvas> to render. Three formats from one template:

Template elements:

No user name. No personal info. Opt-in only. User downloads or shares via Web Share API.

3.2 The share button

Next to each mirror message (on hover / tap for mobile): a small "share" glyph → opens a modal previewing the three formats → user picks → downloads PNG or triggers navigator.share().

3.3 Ship time

---

PART 4 — Build order (revised)

1. This week: ship ultra-HQ audio (SCOUT sources 10 CC0 tracks; upload to S3 → CloudFront)

2. This week: Chat Sentinel live (done in code — needs observations table permissions in Lambda role)

3. Next week: Dispenza-aligned mode system (layered carriers + binaurals over real beds)

4. Next week: Cognito SSO (Google + Apple + magic link) — REQUIRED for mobile app

5. Next week: viral share images

6. Weeks 3-4: Voice MVP (all-Lambda WebSocket, Sonnet, $0.07/min)

7. Weeks 3-8: Flutter app (parallel with voice MVP — chat-first, voice added week 5)

8. Week 9: App store submissions (Apple + Google)

9. Week 10-11: Store review + public launch

10. Week 12+: iterate on store listings + onboarding + IAP model

---

PART 4.5 — On-device STT/TTS (major cost cut for voice)

Option: use iOS + Android native speech APIs instead of Transcribe + Polly

This is a huge cost cut — and in many cases a UX cut too (on-device speech has no network hop).

iOS (SFSpeechRecognizer + AVSpeechSynthesizer)

Android (SpeechRecognizer + TextToSpeech)

Flutter access via speech_to_text + flutter_tts packages — mature, well-maintained, wrap both platforms' native APIs with one Dart interface.

Cost impact

Current all-Lambda voice MVP: $0.07/min (Transcribe $0.024 + Bedrock Sonnet $0.03 + Polly $0.016)

With on-device STT + TTS: $0.03/min (Bedrock Sonnet only — Transcribe + Polly eliminated)

57% cost cut on voice minutes. At 1,000 DAU × 10 min/day voice = $300/mo vs $700/mo → saves ~$5,000/year.

Quality tradeoffs — honest

Recommendation: tiered approach.

Flutter packages to use


dependencies:
  just_audio: ^0.10.0        # plays OGG/MP3 beds with gapless loop
  flutter_sound: ^10.0.0     # mic capture for voice turns
  speech_to_text: ^7.0.0     # wraps iOS SFSpeechRecognizer + Android SpeechRecognizer
  flutter_tts: ^4.0.0        # wraps iOS AVSpeechSynthesizer + Android TextToSpeech
  web_socket_channel: ^2.4.0 # for the Bedrock bridge

The hybrid voice pipeline


User speaks
   │
   ▼
speech_to_text (on-device, streaming partial results)
   │
   ▼
Text sent via HTTPS POST to /invoke (Bedrock Sonnet)
   │
   ▼
Text reply streamed back
   │
   ▼
flutter_tts (on-device) speaks it

No WebSocket needed. No Transcribe. No Polly. Same Lambda /invoke endpoint the web chat already uses. Significantly simpler + cheaper than the all-cloud voice stack.

Revised voice-MVP cost: $0.03/min, ~3-4 day mobile build on top of the Flutter app base. Much better than the $0.07/min WebSocket plan for the web.

---

PART 4.6 — Framework comparison (is Flutter still the right call?)

| Framework | Time-to-ship | Performance | Audio/voice | App-store risk | Team fit |

|---|---|---|---|---|---|

| Flutter | 3-4 wks | Excellent (Skia) | Excellent native packages | Low | Dart learning curve |

| React Native + Expo | 2-3 wks | Good | Good (react-native-voice, @react-native-community/voice) | Low | JS/TS — easier hiring |

| Capacitor + existing web | 2-4 days | OK (WebView) | On-device via Capacitor plugins, cloud via existing web code | Medium (Apple has rejected pure-WebView apps citing 4.2) | Minimal new code |

| Kotlin Multiplatform | 6-8 wks | Native perfect | Native perfect | Low | Need iOS + Android engineers |

| .NET MAUI | 4-5 wks | Good | OK | Low | Niche, smaller ecosystem |

Revised honest recommendation:

Start with Capacitor wrap (2-4 days to get into both app stores with the current web chat).

Follow with Flutter rebuild for V2 (3-4 weeks, better quality, proper native audio).

This is how Discord, Uber, and many others moved — ship the easy wrapper first, earn the users, invest in native quality second.

| Phase | Path | Cost | Timeline |

|---|---|---|---|

| V1 app | Capacitor wrap of silentinfinity.com | ~$0 extra | 2-4 days |

| V2 app | Flutter rebuild with on-device voice | ~$0 extra (engineering time) | 3-4 weeks after V1 |

V1 gets us in stores in 1 week including submission review. V2 ships ~5 weeks later with dramatically better UX.

PART 5 — References

— HERALD

2026-04-21