Decisions to Make
The open calls, split into design and functionality. Each shows the options, a recommendation, and what unblocks once it's made. Already-settled decisions are listed at the bottom so they stop getting relitigated.
Design decisions
Dark luxury marketing site, calm light logged-in app, chart workspace as a section. Best of all three; modestly more design-system work.
Pick one of the three comps and apply it universally. Simpler system, but each mood has a weak surface (Atelier daily use, Sanctuary marketing, Observatory onboarding).
Unblocks: design tokens, landing rebuild, every screen redesign. See Desktop Comps.
Marketing and immersive reading moments dark; daily dashboard and reading text light by default with the existing toggle. Matches the primary/accent color-swap system already designed.
Stronger brand mood; harder on long-form reading comfort and daytime use.
Unblocks: comp refinement, token defaults, screenshot/app-store art.
Marketable, memorable, relationship-forming — but sets a tone bar every answer must clear.
Safer, more premium-neutral; loses the shareable character.
Recommendation: let the focus group decide — App B tests the persona directly; its "quality of Séla's answers" and free-text responses answer this. Unblocks: mobile copy voice, marketing.
Brand asset and merch; slow and costly (78 pieces).
Ship immediately (App C demonstrates the approach), then sell the commissioned deck as a premium unlock.
Fast but undifferentiated and encumbered.
Unblocks: Deck concept production build, premium-deck revenue idea.
Functionality decisions
Subscription fits the daily-habit concepts; reports stay high-margin one-offs; shop rides along. Matches all three test apps' "would you pay" probes.
Simple to reason about, but taxes the habit loop the mobile concepts depend on.
Underprices the AI product entirely.
Unblocks: Stripe scope (checkout vs Billing), paywall placement, focus-group pricing questions.
Day-2/3 returns + would-keep-using rating decide; runner-up's best feature folds in. Decide the rule before the data arrives.
Flexible but invites re-testing forever.
Unblocks: the native mobile build. See Mobile Test Apps.
Stripe integrates at the edge-function layer and ports cleanly; revenue validation shouldn't wait months for infra.
Avoids porting the webhook handlers, at the cost of a quarter of zero revenue signal.
Unblocks: the next engineering sprint's contents.
The spec's full offline queue (messages, scheduling) is Phase-3+ complexity; v1 needs sign-in and readable readings on the subway.
Correct end-state, wrong first milestone.
Unblocks: rewritten mobile Phase 1 spec.
Synastry readings you can run on anyone's birth data and share as an image — social value without the graph. Full connections/messaging deferred.
The schema exists, but cold-start risk is high and it competes for the same build weeks.
Unblocks: whether messaging infra makes the migration cut list.
Already decided
| Decision | Call | When |
|---|---|---|
| Backend platform | AWS-native (Aurora, Cognito, S3, API Gateway via CDK) — not self-hosted Supabase | 2026-07-10 |
| AI provider | Direct Google Gemini API, same models, replacing the Lovable gateway | 2026-07-10 |
| Payments provider | Stripe (per web and mobile specs) | Feb 2026 specs |
| Mobile codebase | lumenal_expo is the active app; lumenal_mobile is legacy/empty | Feb 2026 |
| Canonical architecture doc | docs/index.html (2026-07-10) supersedes the February markdown docs | 2026-07-10 |