Build a complete Date Operating System for Closer — not a simple list of date ideas.
Most couples don't struggle to find ideas. They struggle to:
- Decide what to do
- Find something both partners want
- Schedule it
- Follow through
- Remember meaningful moments afterward
The goal is to create a system that helps couples plan, experience, and reflect on dates together — built on top of Closer's existing daily question + spin wheel engagement loop.
Both partners browse date ideas independently — like the existing question reveal mechanic, but for dates.
Actions:
- Love ❤️
- Maybe 💛
- Skip 👎
Only mutual "Love" matches appear. "Maybe" matches surface as secondary suggestions.
**Firestore model:**
-`couples/{coupleId}/date_swipes/{dateId}` — per-partner swipe state
- Revealed matches stored in `couples/{coupleId}/date_matches/{matchId}`
### Date Builder
Both partners contribute preferences. Builder assembles a plan.
Inputs:
- Date
- Time
- Budget
- Duration
Outputs:
- Activity suggestion
- Food suggestion
- Conversation prompts (draw from existing question packs)
- Optional challenge
**Local-first:** Builder preferences stored in Room. Generated plan synced to Firestore couple doc.
### Couple Bucket List
Shared list both partners can add to and check off.
Categories (aligned with existing question categories):
- Adventure
- Travel
- Food
- Learning
- Romance
- Intimacy
- Seasonal
**Firestore model:**
-`couples/{coupleId}/bucket_list/{itemId}` — shared list with added-by, completed-by, completed-at fields
## Phase 2: Date History and Reflection
### Date History
Store completed dates for the couple.
Fields:
- Date, time, location
- Photos (Firebase Storage)
- Notes (per partner)
- Category
- Cost
- Rating (1–5, per partner)
**Firestore model:**
-`couples/{coupleId}/date_history/{dateId}` — shared history
- Photos stored in Firebase Storage under `couples/{coupleId}/date_photos/{photoId}`
### Private Date Reflection
After a date, both partners answer reflection questions privately. Answers reveal when both complete — same mechanic as the existing answer reveal flow.
Questions:
- What was your favorite moment?
- What surprised you?
- What did you appreciate most?
This reuses the existing `sessions`/`answers`/`threads` Firestore structure but with a date reflection type flag.
### Relationship Insights
Aggregate from date history + existing question engagement.
Track:
- Connection score (composite: date frequency + question engagement + reflection completion)
- Date satisfaction (average rating)
- Date frequency (per month)
- Preferred categories (from date history + question packs)
**Computed client-side** from local Room cache + Firestore snapshots. No server aggregation needed for MVP.
## Phase 3: Smart Planning
### AI Date Concierge
Firebase Cloud Function that generates personalized date plans.
Inputs:
- Budget
- Available time
- Weather (OpenWeather API or similar)
- Interests (from question categories + date history)
- Relationship stage (from account age + date history)
Outputs:
- Complete itinerary
- Estimated cost breakdown
- Conversation prompts (pull from existing premium question packs)
- Backup indoor plan
**Implementation:** Firebase Cloud Function calling an LLM API (OpenAI / Anthropic). Results cached in Firestore.
### Smart Scheduling
Track partner availability and suggest date windows.
- Availability shared via Firestore (simple "free evenings" or calendar integration later)
- Preferred date frequency set per couple
- Auto-suggest when both partners have a free window + haven't had a date recently
## Premium Features
### Premium Date Packs
Curated date collections — same pack model as existing question packs.
- First Year Together
- Married With Kids
- Long Distance
- Anniversary Pack
- Reconnection Pack
- Summer Dates
- Winter Dates
**Implementation:** Same Firestore pack structure + RevenueCat entitlement gating as existing question packs.
- Personalized recommendations based on date history
- Seasonal suggestions
- Local event integration (later: Google Places / Yelp API)
### Premium Insights
- Date trends over time
- Relationship growth patterns
- Favorite activities
- Monthly summaries
## Killer Feature: Date Replay
Both partners answer after a date:
- Best moment
- Unexpected moment
- One thing I appreciated
Months later, they can revisit those reflections as a relationship timeline — like the existing answer history, but for real experiences.
**Implementation:** Reuses the reveal mechanic. Reflections stored as date-typed sessions. Timeline view queries all completed date sessions sorted chronologically.