Skip to content
All projects

WhatWhis — Local WhatsApp Voice Transcription

Privacy-focused Firefox extension that transcribes WhatsApp Web voice messages entirely on your machine via a local Flask service powered by OpenAI Whisper — no cloud, no external APIs, no tracking.

Visit project

Tech stack

JavaScript Manifest V3 Python Flask OpenAI Whisper FFmpeg IndexedDB

Overview

Role: Personal project, AI-assisted · Period: Apr – Jun 2026

Repository: GitHub - m-elhabib-dev/whatwhis

WhatWhis is a privacy-focused Firefox extension that transcribes WhatsApp Web voice messages locally on your machine. A local Python Flask service hosts the OpenAI Whisper model and exposes a REST API on localhost.

All audio processing happens on your device — there are no external API calls, no tracking, and no cloud round-trips.

A "Transcribe" button is injected directly into WhatsApp Web. Transcripts are persisted locally in the browser IndexedDB, with excellent Arabic (and other language) support and proper RTL rendering.

The project follows 15 core principles including local-only architecture, explicit user control, and developer observability.

Architecture

Extension: a Manifest V3 content script that observes the WhatsApp Web DOM, injects UI elements, and handles audio extraction. Service: a Flask application that hosts the Whisper model and provides a REST API on localhost. IndexedDB used for local transcript persistence. FFmpeg as the audio dependency required by Whisper.

Challenges

Extracting and routing voice message audio from the live WhatsApp Web DOM. Bundling and serving the Whisper model through a lightweight local Flask API. Rendering transcriptions with proper RTL layout for Arabic. Keeping the entire pipeline local-first to preserve privacy.

Outcomes

Delivered a fully local WhatsApp voice transcription pipeline with no cloud dependency. Injected a seamless Transcribe button into WhatsApp Web. Persisted transcripts in IndexedDB and rendered Arabic transcripts correctly in RTL.

Gallery