A real-time multiplayer drawing and guessing game inspired by Skribbl.io. Players take turns drawing words while others compete to guess correctly and earn points.
- Real-time Multiplayer - Play with friends in shared game rooms
- Interactive Canvas - Smooth drawing with multiple brushes and colors
- Voice Chat - Built-in voice communication
- Smart Scoring - Points based on speed and accuracy
- Mobile Responsive - Works on desktop and mobile devices
Frontend: Next.js 15, TypeScript, Tailwind CSS, Zustand, React Sketch Canvas
Backend: Elixir, Phoenix Framework, Phoenix Channels, Redis
Infrastructure: Docker, Caddy, GitHub Actions
-
Clone and setup
git clone https://github.com/singhalkarun/scribbl.git cd scribbl/deployment cp sample.env .env
-
Run with Docker
docker-compose up -d
-
Access the game
- Frontend: http://localhost:3000
- Backend: http://localhost:4000
scribbl/
├── scribbl_frontend/ # Next.js React app
├── scribbl_backend/ # Elixir Phoenix API
├── deployment/ # Docker setup
└── .github/ # CI/CD workflows
- Create or join a room with friends
- Take turns drawing assigned words
- Guess others' drawings in chat
- Earn points for speed and accuracy
- Win with the highest score!
Backend:
cd scribbl_backend && mix deps.get && mix phx.server
Frontend:
cd scribbl_frontend && npm install && npm run dev
- Karun Agarwal - [email protected]
- Prateek Jakhar - [email protected]
- Issues: GitHub Issues
Ready to draw and guess? 🎨 Built with ❤️ using Elixir Phoenix + React