About the project
WIGO (What Is Going On) is an interactive web app with a world map where users share short messages in real time from their location. Messages appear on the map instantly, can be anonymous or signed, and automatically disappear after 2 minutes. A live global conversation – find out what's happening near you or on the other side of the planet.
Key features
- Interactive map – zoom, pan, rotation via MapLibre GL
- Real-time messages – WebSocket/Socket.IO for instant display
- Anonymity – option to send messages anonymously or signed
- Auto-expiry – messages disappear after 2 minutes
- Message rotation – multiple messages from same location rotate every 10s
- Rate limiting – max 1 message / 10 seconds per IP
- Responsive design – mobile and desktop
Architecture
Frontend runs on Next.js 14 with TypeScript and Tailwind CSS. Map components use MapLibre GL. Backend is built on Node.js and Express with Socket.IO for real-time communication. Messages are stored temporarily in Redis. The app is containerized with Docker and Docker Compose.
Security and deployment
Rate limiting, input sanitization (XSS protection), CORS and Helmet security headers. Frontend deployed on Vercel, backend on Railway/Fly.io, Redis via Redis Cloud or Upstash.
Code on GitHub →