Frens System โ Quick Reference โ
Privacy-first reconnection through venue-bound broadcasting
Core Concept โ
Saving someone = Broadcasting YOUR lantern to THEM at specific venues
- You don't track them, they track you
- Venue-specific visibility (not everywhere)
- Mutual save required to see each other
- No persistent chat outside venues
User Flow โ
1. Meet at venue โ Accept wave โ Chat
2. Tap "Save Connection"
3. Choose which venues to broadcast at
4. They can now see YOUR lantern at those venues
5. If they save you back โ Mutual connection! ๐Key Features โ
Venue-Bound Broadcasting โ
- Each venue is a separate choice
- "Coffee House only" vs "Coffee House + Speakeasy"
- Prevents routine tracking
Asymmetric Visibility โ
- One-way save: They see you, you don't see them
- Mutual save: Both see each other at shared venues
- Always under your control
No Persistent Chat โ
- Messages only when both at venues
- 2-hour post-meetup window for logistics
- Beacon Invites for coordination ("I'll be there Thursday")
Components โ
| Component | Location | Purpose |
|---|---|---|
| SaveConnectionPrompt | src/components/ | Modal after chatting to save connection |
| FrensList | src/screens/frens/ | Main frens screen with filters |
| FrenProfile | src/screens/frens/ | Individual fren details |
| ManageVenuesModal | src/components/ | Choose broadcast venues |
Routes โ
#/frens- Frens list#/frens/:id- Individual fren profile
States โ
One-Way Save โ
You saved them:
๐ก Broadcasting to them at Coffee House
๐๏ธ Can't see their lantern anywhereMutual Save โ
Both saved each other:
โจ Shared venues: Coffee House
๐ฎ Both can see each other's lanterns there
๐ Priority wave optionMultiple Venues โ
You broadcast: Coffee House, Speakeasy
They broadcast: Coffee House
Result: Mutual at Coffee House onlyPrivacy Principles โ
โ
Venue-bound - Never see someone everywhere
โ
Consent-based - Each venue is a choice
โ
Asymmetric - You broadcast to them, not track them
โ
Revocable - Remove venues or connection anytime
โ
No stalking - Can't build routines or patterns
Implementation Status โ
- โ Frontend components with mock data
- โ Storybook stories
- โ Routing integrated
- โณ Firebase backend (next phase)
- โณ Real-time lantern queries
- โณ Beacon Invites system
Next Steps โ
- Test components in Storybook:
npm run storybook - Preview in app: Navigate to
#/frens - Implement Firebase schema (see FRENS_SYSTEM.md)
- Add real-time listeners for lit lanterns
- Build Beacon Invites feature