DEV Community

Cover image for ๐Ÿ’ฌ Waaku: Manage Multiple WhatsApp Sessions with One Dashboard
ilhamsabir
ilhamsabir

Posted on

๐Ÿ’ฌ Waaku: Manage Multiple WhatsApp Sessions with One Dashboard

Ever tried running more than one WhatsApp Web sessionโ€ฆ and realized you canโ€™t? ๐Ÿ˜ฉ

For developers building chatbots, automation tools, or customer service dashboards, thatโ€™s a huge limitation.

So I built Waaku ๐Ÿš€ โ€”

an open-source multi-session WhatsApp manager with:

โœ… Real-time dashboard

โœ… Secure API (REST + WebSocket)

โœ… Docker support out of the box

Fork it, run it, and instantly manage multiple WhatsApp accounts like a pro.


๐Ÿ”ฅ Why Youโ€™ll Love Waaku

  • Multi-session โ†’ no more juggling one account at a time
  • Real-time dashboard โ†’ scan QR, see status, monitor errors instantly
  • Swagger API โ†’ send messages, validate numbers, restart sessions via REST
  • Secure Auth โ†’ SHA-512 API keys (raw key never touches the server)
  • Dockerized โ†’ works anywhere in minutes

Itโ€™s basically WhatsApp Web on steroids ๐Ÿ’ช


๐Ÿ› ๏ธ Tech Stack at a Glance

Layer Tech
Frontend Vue 3 + Vite + Tailwind + Socket.IO
Backend Node.js + Express + whatsapp-web.js
Real-time Socket.IO
Auth UUIDv4 + SHA-512 API keys
Docs Swagger (/api-docs)
Deploy Docker + docker-compose

๐Ÿš€ Quick Start

# Clone the repo
git clone https://github.com/ilhamsabir/waaku_project.git
cd waaku_project

# Copy env file and configure
cp .env.example .env

# Build & run with Docker
docker compose up --build -d
Enter fullscreen mode Exit fullscreen mode

โšก Example: Validate a Number

curl -X POST http://localhost:4300/api/sessions/session1/validate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <your-raw-uuidv4>" \
  -d '{"to": "6281234567890"}'
Enter fullscreen mode Exit fullscreen mode

Boom ๐Ÿ’ฅ โ€” instant validation.


๐Ÿ”Ž Behind the Scenes

Waaku keeps your dashboard in sync without polling:

  • QR code generated? โ†’ pushed instantly via Socket.IO
  • Session ready? โ†’ dashboard updates in real-time
  • Error? โ†’ youโ€™ll see it right away

Built on whatsapp-web.js but wrapped in a much more developer-friendly flow.


๐Ÿ—บ๏ธ Roadmap

Some ideas in the pipeline:

โœ… Automated testing (unit + integration)
โœ… Redis for distributed rate limiting
โœ… Notifications (Slack/Telegram when a session drops)
โœ… Plugin-ready UI

  • Got suggestions? Open an issue or PR ๐Ÿ™Œ

๐Ÿš€ Final Thoughts

WhatsApp is powerful, but its limits slow us down.
With Waaku, you finally get a multi-session, real-time, Dockerized WhatsApp manager thatโ€™s flexible enough for side projects, startups, or production systems.

Iโ€™m excited to see what you build with it. Fork the repo today ๐Ÿ‘‡

๐Ÿ‘‰ https://github.com/ilhamsabir/waaku_project

Top comments (0)