Landing Page & Guest Browsing
Overview
The Landing Page and Guest Browsing features work together to provide a low-friction onboarding experience. New visitors see an informative splash page explaining Lantern's value proposition, then can browse venues without creating an account.
Strategy
Key Decision: Allow users to browse places WITHOUT requiring sign-up first.
Rationale:
- "Try before you buy" reduces friction
- Users see real value (venues, active lanterns) before committing
- Builds trust through transparency
- Reduces abandonment in signup flow
Landing Page
Purpose
Explain what Lantern is, how it works, and why it's safe before users engage with the app.
Sections
Hero
- Tagline: "Meet people at real places, naturally."
- Value proposition: No profiles, no photos, no swiping
- CTAs: Browse Places (primary), Create Account (secondary), Sign In (tertiary)
How Lantern Works (3 steps)
- Choose a Place: Browse venues near you
- Light Your Lantern: Signal availability anonymously
- Meet Naturally: Wave to connect, meet in person
Why Lantern is Different (4 differentiators)
- Privacy First: Zero-knowledge encryption
- Choose When to Reveal: Anonymous until you decide
- Real Places Only: No fake locations
- Presence Over Profiles: Being there > looking good
Final CTA
- Reinforces browse/signup options
Footer
- Copyright, Privacy/Terms/Safety links
Guest Browsing
Purpose
Allow unauthenticated users to explore venues and see what Lantern offers before creating an account.
Features
What Guests Can Do:
- View nearby venues
- See venue details
- Browse categories
- Search for venues
- See active lantern counts
What Guests Cannot Do:
- Light lanterns
- Wave to users
- Send/receive messages
Implementation
See full documentation in /docs/features/landing/LANDING_AND_GUEST_BROWSING.md
Files Changed
src/screens/landing/LandingPage.jsx- New landing pagesrc/App.jsx- Routing logicsrc/components/dashboard/HomeView.jsx- Guest bannersrc/screens/dashboard/Dashboard.jsx- isGuest propsrc/screens/dashboard/PlacesScreen.jsx- Pass through prop
Testing
- Landing page displays on first visit
- Guest banner shows when unauthenticated
- Auth gates work (can't light/wave without account)
- Dismissals persist in localStorage