41 total
Open decisions (2)
#33Data
DB reset pending — will lose test data
Required before production data load.
#35Design
Aesthetic profile pending
Will define final visual language for the app. Blocked on Stage 3.
Decision archive (39)
#1Brand2026-03-15locked
App name is Velverie
Chosen over Trope, ShelfLife, MoodRead. Romance-native, memorable, domain available.
#2Brand2026-03-15locked
UK English throughout
Australian founder, global audience. UK English is the standard for all copy.
#3Design2026-03-15locked
Dark mode default
Romance readers read at night. Dark mode is the primary experience.
#4Design2026-03-15locked
Five tabs: Home / Mood / Search / Library / Profile
Core navigation structure. Mood is the differentiator.
#5Data2026-03-15locked
Trope taxonomy is flat, not hierarchical
Aliases map to canonical tropes. No nesting. Simpler for search and mood matching.
#6Data2026-03-15locked
Target 500 books for launch
Quality over quantity. 500 well-tagged books beats 10k poorly tagged.
#7Data2026-03-15locked
Authors input is manual CSV, not scraped
Goodreads scraping is legally risky. Manual curation ensures quality.
#8Legal2026-03-15locked
Privacy policy and terms required before TestFlight
Apple requires both. Live at velverie.app/privacy and /terms.
#9Legal2026-03-15locked
GDPR compliance from day one
Even pre-launch. Australian Privacy Act + GDPR. No shortcuts.
#10Growth2026-03-15locked
Territory: Australia first
Solo founder in AU. Launch where you can iterate fastest.
#11Growth2026-03-15locked
Primary channel: TikTok (BookTok)
Romance readers are on BookTok. Instagram is secondary.
#12Growth2026-03-15locked
Affiliate: trad-pub via Bookshop.org, indie via Amazon
Amazon tag: tropeapp-22. Bookshop.org for trad-pub titles.
#13Monetisation2026-03-15locked
Freemium model: free core, Pro for power features
Free: browse, search, basic library. Pro: mood engine, advanced filters, unlimited shelves.
#14Monetisation2026-03-15locked
RevenueCat for subscription management
Handles Apple/Google IAP, analytics, paywalls. No custom billing.
#15Infra2026-03-15locked
Flutter for cross-platform
iOS first, Android follows. Single codebase.
#16Infra2026-03-15locked
Supabase for backend
Auth, database, storage, realtime. No custom server.
#17Infra2026-03-22locked
Hub is Next.js on Vercel, not local Python
Replaced server.py. Deployed, accessible, production-grade.
#18Email2026-03-15locked
Kit (ConvertKit) for email marketing
Waitlist, sequences, broadcasts. Already configured.
#19Email2026-03-15locked
Fastmail for transactional email
brea@velverie.app. SMTP via app password.
#20Design2026-03-22locked
No UI component library (shadcn, MUI etc)
All UI is custom per design system. Full control over aesthetics.
#21Data2026-03-19locked
Claude API for book enrichment pipeline
Anthropic API processes author/book data. Key rotation deferred.
#22Data2026-03-19locked
Mood system uses emotional tones, not genre labels
Moods like "yearning", "tension", "comfort" — not "contemporary romance".
#23QA2026-03-15locked
Golden path testing before every TestFlight build
Core user journey must pass before any beta distribution.
#24Beta2026-03-15locked
TestFlight for iOS beta distribution
5-stage pipeline: Identified > Invited > Onboarded > Active > Churned.
#25Social2026-03-15locked
Handle: @velveriereads on all platforms
Consistent across TikTok, Instagram, X. Not yet created.
#26Website2026-03-15locked
GitHub Pages for velverie.app landing page
Static site. Simple. Free hosting. Custom domain configured.
#27Finance2026-03-22locked
Wave for bookkeeping (no API)
Manual tracker. Wave has no API. Finance panel is standalone.
#28Finance2026-03-22locked
Australian BAS quarterly schedule
Q1: Oct 28, Q2: Feb 28, Q3: Apr 28, Q4: Jul 28.
#29Security2026-03-19locked
Anthropic API key rotation deferred
Not urgent. Intentionally deferred. Amber status in Security panel.
#30Hub2026-03-22locked
All hex values are CSS custom properties
Never hardcode raw hex in components. Stage 3 locks final palette.
#31Hub2026-03-22locked
Hub state lives in Supabase, not localStorage
Persistent across devices. RLS policies for access control.
#32Data2026-03-19deferred
Goodreads scraper deferred
Legal risk too high. Manual curation preferred.
#34Growth2026-03-15locked
Waitlist is live on velverie.app
Kit form embedded. Collecting signups pre-launch.
#36Press2026-03-22locked
Press strategy is post-launch
No outreach until app is live. Pitches prepared in advance.
#37ASO2026-03-22locked
App Store copy written by Claude with brand voice
All copy generation uses assistant/chat with constraints.
#38Support2026-03-22locked
Support triage uses Sentry + manual tickets
No App Store Connect API pre-launch. Reviews tab is placeholder.
#39Releases2026-03-22locked
Changelog is editorial, not auto-generated
Claude writes entries in brand voice from git log.
#40Hub2026-03-22locked
Vercel cron for daily scans and weekly digests
7am AEST scan, Sunday 8am digest, daily press scan.
#41Hub2026-03-22locked
Terminal panel uses local WebSocket server
Vercel is serverless — terminal needs local ws bridge.
decisions