DDD Launch Map

Dementia Daily Diary · setup to live

DDD Launch Map

The whole build in one place: React Native app, Supabase backend, both stores, and dementiadailydiary.com.

v1 to review · late Oct 2026 · no AI Aidy™ on website · Oct 2026 Aidy in app · v1.1 · $9.99 sub
Stack & accounts

Everything separate from Tended; Tended is process reference only.

Build

Claude CodePrimary dev tool · ready
WindsurfCode editor · ready
DevinOccasional code review · ready
GitHubDDD repo still to create
Expo + EASBuilds, submit, Expo Go · to set up

Backend & services

SupabaseSeparate DDD project · auth, DB, RLS
SentryDDD project set up
ResendAccount exists · swap in for OTP mail before launch
RevenueCatv1.1 · separate DDD project · $9.99 AI sub
TwilioLater · SMS OTP after launch
Anthropic APIv1.1 · Aidy: Quick Add, Research, Help, Talk

Web, stores & design

HostingerHosting for dementiadailydiary.com
WordPressSite live; full redo planned
FormspreeContact + Newsletter · to wire
support@ emailsupport@dementiadailydiary.com
App Store ConnectCredentials + closed testing track
Google Play ConsoleCredentials + closed testing track
KittlLogo, app icon, splash
CanvaTemplates, store images, socials
Google Workspacecorella.company; DDD alias for mail
Decisions on record

Newest decision wins where older notes disagree.

AreaDecisionSet
Navigation5 tabs: Dashboard, Dailies, Calendar, Family Care Center, Diary. Profile in the top bar.Sep–Oct
NotesMove from Diary into Family Care Center (facts about the loved one).Sep
DiaryWrite mode stays AI-free. Talk mode (Aidy as companion) comes later.Sep
CalendarOne calendar with filterable person-layers. Overlap and coverage-gap checks are plain logic, flag only, never auto-move. Travel-time checks in v2.Sep
LoginOTP only. Email now, SMS via Twilio later. No passwords, no social login. Persistent sessions + biometric lock.Sep
EmailSupabase default SMTP in dev; Resend from support@ before launch. No code change.Sep
PricingApp is free with full history. One AI subscription at $9.99; adding quarterly and annual. No 14-day gate. Help is free.Oct 4
Paywall copyUnder-promise: show "Subscribe", not "Try Free", whenever trial eligibility is unknown.Sep 14
AI nameAidy (AY-dee), in-app only. Off any purchase flow until it ships. Trademark when affordable.Oct 4
AI rulesQuick Add saves only after the caregiver confirms. Research history stored apart from health data. Metering only on external web research.Oct 4
DevicesUniversal app: iPhone + iPad, foldable-ready responsive layouts from day one.Sep
Locked URLsprivacy-policy, terms-conditions, help, delete-account. Store listings point here; never rename.Sep
Open questions

Gaps or conflicts between threads.

Plum or burgundy?A burgundy dark ground pulls the brand plum (#7A3D5D) toward red. Proposed #7A1E3E as the shared brand burgundy, keeping a softer plum for the Diary tab. Decide the name too, since tokens and prompts will use it.
Family Circle or Family Care Center?The Sep 18 thread picked "Family Circle"; the Oct 4 thread uses "Family Care Center". Pick one before screenshots and site copy.
WordPress redo or static rebuild?DDD-TODO says build out WordPress; a later note says the site needs a full redo. The locked filenames end in .html, which only matters on a static site.
v1 has no paywall?With the app free and the only purchase being the AI sub, v1 can ship with no RevenueCat at all.
Bundle ID and repo locationNo bundle ID or package name recorded. RN build was planned for ~/Developer/; the Mac mini share uses /Volumes/corella/Development. Write both into CLAUDE.md.
Help: articles or AI?Still undecided whether Help opens static articles (shared with the website) or Aidy Help.
Still open from the Aidy threadPrivacy and data handling for AI, Talk's hand-off for unlogged events, and how Family Care Center sharing works (daily digest vs incident alerts).
Screen colors (proposal)

Each tab lives in one hue, layered ground → card → raised → ink. Dark mode drops every tab onto one burgundy ground.

TabHueLight layersDark layers
DashboardWhite#FFFFFF #F7F2F5 #E9DEE4 #3B2A33#260C17 #36131F #4A2030 #F3DCE6
DailiesPink#FDE4F0 #FAC4DD #F48CBB #B8005E#260C17 #4A0F2C #7A1A49 #FF8FC4
CalendarYellow#FFF8D6 #FCEE9E #F4DC45 #6B5E00#260C17 #3E2B12 #5E4A12 #FBE36A
FamilyAqua#E0F9FD #B2EFF9 #5ED9EE #0B5F6B#260C17 #1F2A33 #16505A #7FE9FA
DiaryPlum#F5E7EE #E7C8D6 #C98AA5 #6A2E4C#260C17 #3D1830 #5B2747 #E7A9C6

#7A3D5D plum today · #7A1E3E brand burgundy · #260C17 dark ground

Commands

Run from the app folder.

# one-time
npm install -g eas-cli
eas login
eas init
eas build:configure

# daily dev
npx expo start                     # scan with Expo Go
npx expo install <package>         # keeps versions SDK-matched
npx expo-doctor                    # before every build

# Supabase types after a schema change
npx supabase gen types typescript --project-id <ddd-project-id> > src/types/supabase.ts

# test builds
eas build --platform ios --profile preview
eas build --platform android --profile preview

# store builds + upload
eas build --platform all --profile production
eas submit --platform ios --latest      # lands in TestFlight
eas submit --platform android --latest  # lands in Play internal/closed track