DEV Community

Cover image for QuickDoodle: Real-Time Drawing & Guessing Game (with AI Agents Coming Soon!) โ€“ Hacktoberfest 2025 Spotlight
MUHAMMAD USMAN AWAN
MUHAMMAD USMAN AWAN

Posted on

QuickDoodle: Real-Time Drawing & Guessing Game (with AI Agents Coming Soon!) โ€“ Hacktoberfest 2025 Spotlight

Hacktoberfest: Maintainer Spotlight

This is a submission for the 2025 Hacktoberfest Writing Challenge: Maintainer Spotlight

๐ŸŽจ QuickDoodle โ€” A Real-Time Drawing & Guessing Game Built for Hacktoberfest 2025

Fun Drawing


Hey DEV community! ๐Ÿ‘‹ I'm UsmanDevCraft, and Iโ€™m thrilled to spotlight QuickDoodle โ€” my passion project thatโ€™s part Skribbl.io, part creative chaos, and 100% open for your Hacktoberfest contributions!

Whether you're a frontend wizard, backend ninja, or just love multiplayer games, this is your chance to jump in, fix bugs, add features, or even ship that AI bot weโ€™ve all been dreaming about.

๐Ÿš€ What Is QuickDoodle?

QuickDoodle is a real-time multiplayer drawing & guessing game where players compete in private or global rooms to draw secret words while others race to guess.

Think:

  • โœ๏ธ Smooth canvas drawing with pens, erasers, and colors
  • โฑ๏ธ Fast-paced rounds with word prompts
  • ๐Ÿ† Scoring based on speed & accuracy
  • ๐Ÿ’ฌ Real-time chat & player reactions
  • ๐ŸŒ Global public rooms or private invite-only lobbies

And yes โ€” AI bots are coming so you can play solo against a guessing machine!


๐ŸŽฎ The Player Flow (Step-by-Step)

Letโ€™s walk through how a game actually works โ€” because nothing beats seeing the magic:

1. Landing Page โ€” Choose Your Adventure

Landing Page

  • Create Room โ†’ Youโ€™re the Room Creator (and first Riddler)
  • Join Room โ†’ Enter a code to hop into a friendโ€™s private game
  • Join Global Room โ†’ Instantly match with players worldwide

Private or Global Room

All powered by Socket.IO โ€” youโ€™re connected in <1s.


2. Game Room โ€” The Arena

Game Page

  • Left Panel: Player list, scores, chat
  • Top: Massive shared canvas
  • Right Panel: Word hints (for guessers), chat box, round info
  • Top Bar: Current drawer, round number, theme

3. Round Flow โ€” Draw, Guess, Swap!

Guess from Drawing

๐ŸŽฎ Round Flow โ€” Draw, Guess, Swap!

Phase Whoโ€™s Active? What Happens
1. Drawing Phase Current Drawer A random word is auto-assigned (no choices). Drawer uses pen/eraser โ€” strokes sync instantly via Socket.IO
2. Guessing Phase All Other Players Players type guesses in a dedicated guess input (separate from chat). Chat is for fun, hints, or riddles from the drawer!
3. Correct Guess! First Guesser Instant feedback: โ€œPlayerX guessed it!โ€ โ†’ points awarded based on speed. Drawer gets bonus if guessed fast
4. Round End All Players Scores update live. Drawer rotates automatically โ†’ next player becomes the **Drawer (Riddler)
5. Mid-Round Switch Current Drawer Drawer can toggle between drawing & riddling anytime using a โ€œSwitch to Riddle / Drawโ€ button
6. Game Continues All No round limit โ€” play as long as you want! Ends when players leave or manually stopped

๐Ÿ  Room Rules

Room Type Player Limit Notes
Private Room No limit Invite-only via shareable code
Global Room 12 players Auto-balanced. (3 in testing)

Pro Tip: The creator is only the Riddler in Round 1. After that, it rotates fairly!


๐Ÿ› ๏ธ Tech Stack โ€” Full-Stack Real-Time Power

Layer Tech
Frontend Next.js (App Router), TypeScript, Tailwind CSS, Socket.IO Client, Turbopack
Backend Node.js, Express, Socket.IO Server, MongoDB (Mongoose)
Realtime WebSockets via Socket.IO
Utilities uuid, random-words, SRP-driven modular socket handlers

๐Ÿ”— Repo Links (๐Ÿฅน Star Them! ๐ŸŒŸ)


๐Ÿ—๏ธ Project Structure (At a Glance)

Frontend (Quick_Doodle)

/src
โ”œโ”€โ”€ app/                โ†’ Pages (landing, /game/[roomid])
โ”œโ”€โ”€ components/         โ†’ Reusable UI (Button, Modal, Canvas, Chat)
โ”œโ”€โ”€ hooks/useSocket.ts  โ†’ Real-time connection logic
โ”œโ”€โ”€ lib/socket.ts       โ†’ Socket instance
โ”œโ”€โ”€ types/              โ†’ TS interfaces
โ””โ”€โ”€ views/              โ†’ Page-level components
Enter fullscreen mode Exit fullscreen mode

Backend (quick_doodle_backend)

/
โ”œโ”€โ”€ sockets/
โ”‚   โ”œโ”€โ”€ gameEvents/     โ†’ drawing.js, guessWord.js
โ”‚   โ”œโ”€โ”€ roomEvents/     โ†’ createRoom.js, joinGlobal.js
โ”‚   โ”œโ”€โ”€ chatSocket.js
โ”‚   โ””โ”€โ”€ gameSocket.js   โ†’ Main orchestrator
โ”œโ”€โ”€ models/Room.js      โ†’ MongoDB schema
โ””โ”€โ”€ index.js            โ†’ Express + Socket.IO server
Enter fullscreen mode Exit fullscreen mode

๐Ÿ”ฅ Why I Maintain This Project

I built QuickDoodle because:

  • I love real-time apps โ€” watching strokes appear instantly is pure magic
  • I wanted a fun, social game that brings people together (even remotely)
  • Itโ€™s a perfect playground for learning WebSockets, state sync, and scalable backend design

๐Ÿค How to Contribute (Hacktoberfest-Ready!)

Weโ€™ve got clear issues, good first tasks, and documentation โ€” perfect for your PRs!

๐Ÿš€ Quick Start

# Frontend
git clone https://github.com/UsmanDevCraft/Quick_Doodle.git
cd Quick_Doodle
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode
# Backend
git clone https://github.com/UsmanDevCraft/quick_doodle_backend.git
cd quick_doodle_backend
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

Frontend connects to http://localhost:3000 โ†’ runs on :3001 (Next.js)


๐ŸŽฏ Contribution Ideas

Area Ideas
Frontend Dark mode toggle, mobile canvas improvements, drawing undo/redo
Backend Leaderboard persistence, vote-to-kick logic, room passwords
Gameplay Themed word packs (Animals, Movies, Memes), sound effects
AI Integrate a vision model to guess drawings (solo mode!)
UX Confetti on correct guess, "Youโ€™re close!" hints

Label Alert: Look for hacktoberfest, good first issue, help wanted


๐Ÿง  Future Roadmap

  • AI Guessing Bot (solo mode)
  • User accounts + stats
  • Save & replay past games
  • Mobile PWA support
  • Leaderboards (global + friends)

๐ŸŒŸ Final Words

QuickDoodle isnโ€™t just code โ€” itโ€™s laughter, chaos, and bad drawings shared in real time.

If youโ€™ve ever wanted to:

  • Ship a full-stack real-time app
  • Learn Socket.IO in action
  • Or just draw a potato and call it โ€œmodern artโ€

โ€ฆthen this is your project.


Letโ€™s make Hacktoberfest 2025 legendary.

Pull requests, issues, ideas, memes โ€” all welcome.


โญ Star both repos

๐Ÿ”— Share this post

๐Ÿš€ Open a PR

And Iโ€™ll personally review it with emojis, feedback, and virtual high-fives.


Tags: hacktoberfest, hacktoberfest2025, javascript, typescript, nodejs, nextjs, socketio, mongodb, realtime, multiplayer, game-dev, open-source


Built with โค๏ธ by UsmanDevCraft letโ€™s connect on GitHub โ€” see you in the canvas!

Top comments (0)