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 (2)

Collapse
 
webdeveloperhyper profile image
Web Developer Hyper

Wow! Super Cool and Creative!๐Ÿ’ฏ

Collapse
 
usman_awan profile image
MUHAMMAD USMAN AWAN

Thank you, trying to do better ๐Ÿ™‚.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.