← Projects

WhatsApp Automation Tool

2026 — ongoing

v3.0.0 on GHCR · full community release in a few months

The official WhatsApp Business API prices out small operations entirely. So instead of an API, Chromium runs on a virtual display inside the container and is exposed over noVNC, so you can watch it work and take over when you need to. A Flask dashboard runs campaigns in the background with a live progress bar and a dry-run toggle; templates come in English, French, Arabic and Tunisian Derja across four business categories; leads import from CSV with per-row phone validation. v3.0.0 was a correctness and security pass — the dashboard went from decorative to actually running campaigns, CSRF and SameSite protection went on the web UI, and the tests went from 13 to 51.

Role — Sole developer

Release
v3.0.0
Tests
51 · ~90% core
Template set
4 langs × 4 sectors
CI stages
lint·test·smoke·docker·security
Distribution
GHCR image
GitHub release downloads
0
PythonFlaskDockernoVNCXvfbChromiumpywhatkitphonenumbersGitHub Actions

What it looks like

5 screens · click to enlarge
The web dashboard v3.0.0 rewrote from decorative to functional. A four-step wizard — template, leads, confirm, WhatsApp — with the message templates filterable by language (EN / FR / AR / TN) and a Dry run toggle that's checked by default. Leads come in one at a time or by CSV. "Confirm & Start" runs the campaign in a background thread with a live progress bar.

How it was built

  • 21 February 2026

    WhatsApp Automation Tool

    GUI virtualisation as an API substitute — a real browser in a container, exposed over noVNC. Templates in four languages including Tunisian Derja.