The schedule / Entry 04 / Chrome extension

WhatsApp Smart.

Prototype, never launchedAnd honest about it

2.5 billion people use WhatsApp daily with zero productivity tools. A Chrome extension that adds scheduling, AI replies, tone adjustment and group summaries. Messages never leave the browser.

10features built
50+React components
130+source files
~16,000lines of TypeScript
Note 1: The problemThe missing layer

I kept running into the same friction. Want to schedule a birthday message for midnight? Can't. Need to catch up on a family group chat with 120 unread messages? Scroll through every single one. Want quick reply suggestions when you're juggling ten conversations? Nothing.

The gap is bigger than scheduling. There's no personal productivity layer at all. WhatsApp's own scheduling, added in early 2026, is single-message only with no recurring option. Every third-party tool in this space targets businesses running customer support through the WhatsApp Business API. Personal users got left behind. That was the gap I built into.

Every WhatsApp extension I found was built for businesses. I just wanted to schedule a birthday message.

Note 2: How it worksThree layers, local first

You open WhatsApp Web and the extension is already there: a small toolbar next to the compose box with AI suggestions, a tone adjuster and a schedule button. A content script injects the UI via shadow DOM so it never clashes with WhatsApp's own styles. A background service worker handles scheduling through Chrome Alarms, so messages go out even if the tab isn't focused. Message access comes from an open-source WhatsApp Web API library, not brittle DOM scraping. No server required for core features. No sign-up.

Layer 1: Browser

Content scriptInjects into WhatsApp Web via MutationObserver detection
Message bridgepostMessage relay between content and injected scripts
React 19 UI in shadow DOM54 components: Radix primitives, Tailwind v4, shadcn/ui. Isolated mount, never clashes with WhatsApp CSS

Layer 2: Extension

Background worker1,400 lines: scheduling engine, send queue, orphan recovery, tab manager
Chrome Alarms + StorageOS-level timing that fires with the tab unfocused; all user data stays local
Send queueRetries, staggered batch delivery with 3 to 10 second gaps, status tracking

Layer 3: External, optional

Claude APIHaiku for speed, Sonnet for quality. Bring your own key, direct from the browser, or use the proxy
Hono serverPush notifications when Chrome is closed; AI proxy with a free monthly allowance
Upstash RedisServer-side schedule state, push subscriptions, usage metering
Note 3: What it doesTen features
WhatsApp Smart extension panel inside WhatsApp Web
Extension UIExhibit D.1
WhatsApp Smart scheduling interface mockup
Scheduling flowExhibit D.2
Note 4: The honest entryStatus: prototype

This one carries an amber dot. Ten features built, the architecture proven, the privacy model sound. It was never launched, and this ledger doesn't pretend otherwise. It earns its place here for the engineering: shadow DOM isolation inside a hostile host page, OS-level scheduling that survives a sleeping service worker, and an AI layer that works without ever holding your messages.

Note 5: StackCarrying values
React 19UI and state, 50+ components
TypeScript 5.9~16,000 lines, strict
WXTExtension framework, Manifest V3
Tailwind v4 + RadixStyling and accessible primitives
Claude APIHaiku and Sonnet, BYOK or proxy
Chrome AlarmsBackground scheduling
WPP / wa-jsWhatsApp Web access, no DOM scraping
Hono + Upstash RedisPush and AI proxy, server state
Next.js 15Landing page, Vercel
Other entriesSame ledger
01 OpsPilot The AI that answers my messages: 6,124+ documents, live finance data, one-click approval. Production
02 Trading Bot Four AI agents that veto my trades. 62 sessions, zero impulsive trades let through. Paper trading
03 Uni-Nation Digital Website, inventory PWA and Hindi voice stock entry for the family fabric business. Live