QuickDoodle is a fast, fun and modern real-time drawing & guessing web game inspired by Skribbl.io. Draw on a shared canvas, guess words, compete in private rooms or global rooms, and enjoy themed prompts and creative rounds.
๐ง Built-in AI Support: QuickDoodle includes AI-powered drawing analysis and guessing through locally hosted LLMs (such as Ollama). Running AI locally avoids cloud API costs, rate limits, RPM/RPD restrictions, latency issues, and external service dependencies while providing a more private and developer-friendly experience.
- โก Built with Next.js + TypeScript
- ๐ฎ Real-time drawing & guessing using Socket.IO Client
- ๐๏ธ Interactive HTML canvas with smooth pens & eraser tools
- ๐ Private rooms or global public rooms
- ๐งฉ Word prompts & theme-based drawing rounds
- ๐งญ Modern UI + responsive layout
- ๐ฅ Powered by Turbopack (Next.js dev bundler) for super-fast development reloads
- ๐ค AI-powered drawing guessing using locally hosted LLMs (Ollama)
- ๐ Privacy-friendly AI processing with no cloud AI dependency
| Category | Tools Used |
|---|---|
| Framework | Next.js (App Router) |
| Language | TypeScript |
| Real-time Sync | Socket.IO Client |
| Styling / UI | Tailwind CSS, custom components |
| AI Integration | Ollama (Local LLMs) |
| Dev Bundler | Turbopack (Next.js) |
- Install dependencies:
npm install
# or
yarn
# or
pnpm install
# or
bun install- Run development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev- Open your browser & navigate to:
The app auto-reloads on file changes thanks to Next.js + Turbopack.
/src
โโโ app # Next.js App Router
โ โโโ game # Page route: /game/[roomid]
โ โโโ globals.css
โ โโโ layout.tsx # Root layout
โ โโโ not-found.tsx # 404 handler
โ โโโ page.tsx # Landing page
โ
โโโ components # Reusable UI components
โ โโโ Alert
โ โโโ Button
โ โโโ Loader
โ โโโ Modal
โ โโโ Toggle
โ โโโ Tooltip
โ โโโ gamePage # Game-specific UI
โ
โโโ context # React context providers (Theme, Game state... soon)
โ
โโโ hooks
โ โโโ useSocket.ts # Custom Socket.IO hook (frontend)
โ
โโโ lib
โ โโโ socket.ts # Socket instance + config
โ
โโโ types # TypeScript types
โ โโโ app
โ โ โโโ Alert
โ โ โโโ Button
โ โ โโโ Game
โ โ โโโ Modal
โ โ โโโ Toggle
โ โ โโโ Tooltip
โ โโโ auth
โ
โโโ views # Page-level view components
โโโ app
โ โโโ GamePage
โ โโโ LandingPage
โโโ auth
The backend (Node.js + Socket.IO + MongoDB) handles room logic, game state & events.
๐ Backend repo link
QuickDoodle supports AI-powered drawing guessing through locally hosted language models using Ollama.
Instead of relying on cloud AI providers, the AI runs directly on your machine:
- No API costs
- No RPM (Requests Per Minute) limitations
- No RPD (Requests Per Day) limitations
- Lower latency during gameplay
- Better privacy and data control
- Works without external AI subscriptions
- Easy experimentation with different open-source models
This makes QuickDoodle ideal for development, testing, personal deployments, and AI experimentation without worrying about cloud usage limits or recurring costs.
Feel free to open issues or PRs โ suggestions and improvements are welcome!
- Smarter AI agents with improved drawing interpretation
- Multiple AI personalities and difficulty levels
- Save past rounds / game history
- AI-vs-Human game modes
- Custom community word packs