← All work

Tool2020 to 2025

WhatsApp widget, a floating chat button for any website

A script that adds a floating button to open WhatsApp, with several agents and their hours, loaded from a CDN. Archived on GitHub, and still requested millions of times.

RoleAuthor and maintainer

  • TypeScript
  • Vite
  • Jest
  • jsDelivr
  • GitHub Actions
The WhatsApp widget configurator: a form with the widget title, description and support agents on the left, and the code to paste into a website on the right.

Overview

A small script that adds a floating button to a website. Click it and a panel opens with the people who can answer, each with their hours and a button that starts a WhatsApp chat with a message already written. I published it in November 2020.

It is added with one <script> tag that points at a CDN, plus a short configuration.

Key features

  • One script tag, loaded from the jsDelivr CDN. It starts when the page has loaded.
  • Several agents, each with a name, a phone number, a label for their hours, a call to action and the message that opens the chat.
  • A schedule for each day of the week, so the hours of every agent are part of the configuration.
  • A configurator on the demo page, where you fill in the options and copy the code.
  • Apache 2.0 license, with tests and CodeQL scanning on the repository.

Technologies used

  • Widget: TypeScript, built with Vite.
  • Distribution: jsDelivr, served from the GitHub repository.
  • Tooling and infrastructure: Jest, ESLint, GitHub Actions and CodeQL.

Outcome

The repository is archived on GitHub, and the last release, 3.3.7, is from June 2025. It is still being requested: according to jsDelivr it served 97,318,278 requests in the 12 months up to 2026-10-27, and 5,598,853 in the last 30 days, with about 14 GB of bandwidth. The monthly figure has been falling since the summer, and I show both numbers for that reason.

Screenshots

  • The jsDelivr statistics page of the widget, with 26 million requests and 67 gigabytes of bandwidth over the past quarter and a daily chart.
    The jsDelivr statistics page on 2026-10-29: 26,372,139 requests and 67 GB in the past quarter.