Skip to content

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

  1. 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)
  2. 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
  3. 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
  4. Final CTA

    • Reinforces browse/signup options
  5. 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 page
  • src/App.jsx - Routing logic
  • src/components/dashboard/HomeView.jsx - Guest banner
  • src/screens/dashboard/Dashboard.jsx - isGuest prop
  • src/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

Built with VitePress