🎮 Live Demo → https://whatdoyoumeme-0r2t.onrender.com
A real-time meme guessing game with multiplayer rooms, single-player demo mode, and live socket-based interaction for 2+ players.
React.js · TypeScript · Tailwind CSS Node.js · Express · WebSocket (ws) SQLite · Google Auth · Render
• 👤 Single Player (Demo) → Guess 1 meme without registration • 👥 Multiplayer (2+ players) → Real-time rooms with 3+ rounds → Leaderboard and scoring system → Join or create private rooms → Access full game history
• Google OAuth login • Traditional registration form (email + password) • Session-based auth with secure JWT tokens
• SQLite • Deployed on Render (server + static frontend) • WebSocket server with room management and presence tracking
• Input validation on client and server • Password hashing with bcrypt • Rate limiting & session expiration • Secure WebSocket message handling • Secure & HttpOnly Cookies to prevent XSS and theft • HSTS to enforce HTTPS and block downgrade attacks • SRI to validate third-party assets via SHA-256 hashes • CORS to restrict access to trusted origins only • CSP to block XSS via strict resource policies • SameSite Cookies to mitigate CSRF, with optional CSRF tokens