Discover the unexpected connections around you.
Locale Roulette is an experimental, location-based social web application that combines the spontaneity of stranger chat with geographical proximity. Meet new people in your area by entering designated "Meetup Points"βvirtual lobbies tied to real-world locations in your city.
- Anonymous Matchmaking: Jump into a pool and instantly get connected with a stranger currently looking for a chat in your city.
- Location-Based Meetup Points: Users can dynamically create or join city-specific "Meetup Points" (e.g., "Downtown Coffee Shop", "Central Park").
- Real-Time Text Chat: Fast, WebSocket-driven communication that connects you instantly.
- Group Lobbies: Meetup points feature localized group chat rooms so you can coordinate with multiple people simultaneously.
- Ephemeral Sessions: Embrace anonymity; sessions are tied to the connection, prioritizing fleeting, serendipitous connections.
- Frontend: React + Vite, styled with modern CSS features for a sleek, responsive interface.
- Backend: Node.js + Express
- Real-Time Communication: Socket.io for instantaneous bidirectional event-based communication.
- State Management: In-memory matchmaking and lobby tracking.
- Node.js (v18+ recommended)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/locale-roulette.git cd locale-roulette -
Install dependencies and start the backend server
cd backend npm install npm run dev -
Open a new terminal, install dependencies, and start the frontend
cd frontend npm install npm run dev -
The application should now be running. The Vite frontend will usually be accessible at
http://localhost:5173.
The app is divided into two main workspaces:
/frontend: The React UI handling location tracking, lobby interactions, and chat views./backend: The Socket.io server brokering peer connections, managing active Meetup Points, and handling the core routing logic for 1-on-1 roulette matching and group interactions.
MIT