Independent local campaign dashboard with a Windows companion agent and local SQLite database.
Works with WhatsApp on the user's own Android device. No cloud database required.
Agent offline
How to use What's Campaign
First time? Follow these steps in order. On later visits, check the phone and starting keyboard language before using Campaign Files.
1. Install the agent and connect your phone
Download the Windows Agent ZIP, extract the entire folder, and keep platform-tools and agent_config.json beside the EXE. Run the agent and keep its window open. Use the dashboard it opens to pair this browser.
Connect one Android phone by USB, unlock it, enable USB debugging, and accept the computer on the phone. Click Check Agent, then Check Phone. The website and agent must show the same version.
2. Learn English and Arabic
Open a WhatsApp chat, tap the message field, and clear the draft.
Show the normal full-width keyboard in portrait orientation and select the matching keyboard preset.
Set the phone keyboard to English, click Smart Learn English, review the labels, and click Save Learned Mapping.
Switch the phone keyboard to Arabic. Repeat using Smart Learn Arabic and save that review.
Learning types temporary probe letters but does not press Send. Stop Learning requests cancellation and cleanup; wait until it finishes. Check the phone's draft afterward. Partial automatic learning is saved on this PC. Once both languages are saved, the full profile is available.
Geometry is not typing accuracy. A percentage describes estimated key positions. Assigned anchors are not confirmed letters. Green labels indicate sampled live feedback; other keys remain estimated. If Android returns no readable draft text, verification is unavailable. Saving still requires a complete, structurally valid map; test it afterward.
3. Review, cancel, or adjust manually
Cancel Review discards the current unsaved review and leaves saved mappings unchanged. For manual setup, click Adjust English Manually or Adjust Arabic Manually, follow the requested anchors, and use Undo Last Point to correct a click. Click Save Manual Mapping after the last point. After capturing both languages, click Save Profile.
Manual captures stay in this browser page until Save Profile; reloading can discard them. Automatic saved learning persists in the agent. If the phone, keyboard app, layout, or screen geometry changes, learn again.
4. Test typing before sending
Open an empty WhatsApp message field and choose the language currently visible on the phone under Phone keyboard currently starts in. Click Test Keyboard and try Hello Adam اهلا احمد. This types a draft without pressing Send. Verify every letter on the phone and clear the test draft.
5. Import contacts and prepare messages
Use CSV/XLSX files with name and phone columns. Include the country code in phone numbers. Add up to 20 files at a time; each file keeps separate progress. Failed imports are named in the error report.
Fill all ten message variants and use {name} for personalization. Click Preview & Check and try a representative recipient name. Restore Defaults changes the editor only; click Save Messages Locally to keep edits.
Typing supports English letters, mapped Arabic letters, spaces, digits, comma and period. Line breaks and tabs become spaces. Start/Resume checks actual personalized text against the current keyboard map, including contact names.
6. Start, stop, and resume a campaign file
Choose a delay and Max this run (0 means all pending contacts). Match Keyboard starts in to the phone's visible keyboard. Mark the recipient-consent checkbox, then use the file's Start button. Start sends real messages; first test with one contact you control.
Only one file can use the phone at a time. Stop requests a pause at a safe point; it may finish the current recipient. Wait for the paused state. Resume continues pending rows using that file's saved messages, delay, and starting-language setting. Match the phone to that saved language before resuming. Editing message variants does not change a paused file's snapshot.
7. Delivery data, export, and backups
Use View Data on a file to inspect sent, failed, and pending rows, the message used, and failure details. Export the selected file or all file results to CSV. Review failures before taking further action.
Remove deletes that imported file's local records after confirmation, not the original CSV/XLSX. Create Backup writes a local database backup. Contacts, variants, profiles, progress, and results stay on the PC running the agent; another PC starts with its own data.
Troubleshooting
Agent offline: keep the agent running and use its paired dashboard. Check the expected version.
ADB missing: extract the whole official agent ZIP, keeping platform-tools beside the EXE.
Phone unauthorized: unlock it and accept USB debugging. If necessary reconnect the cable.
Wrong letters or reversed labels: verify the preset and language, then relearn. Never rely on the geometry score alone.
Unsupported character: check both the variant and substituted contact name. Use Preview & Check.
Security detection: stop using that download and check the exact file/hash with the publisher. Do not disable antivirus or add exclusions.
1. Windows Agent
The customer downloads one native Windows companion app. The agent runs locally on the customer's PC,
communicates only through 127.0.0.1:8765, and controls the user's own authorized Android phone through the official ADB runtime.
Windows companion agent
Runs locally on this Windows PC and communicates only with the local service on
127.0.0.1:8765. It controls the user's own authorized Android phone through USB debugging.
The agent does not ask for WhatsApp or Meta credentials. Verify the SHA-256 checksum after downloading.
Unsigned releases may also trigger a Windows SmartScreen warning.
Agent version 1.4.12. See Security for verification guidance.
Windows Agent is not published yet
Public distribution remains disabled until the current Windows build is generated, scanned,
checksum-verified, and intentionally published. This prevents an unreviewed executable from being exposed by accident.
Expected version1.4.12
2. Android Phone
REQUIRED
Connect one Android phone by USB, unlock it, and authorize USB debugging before using the campaign controls.
Serial—
Keyboard—
Resolution—
Profile—
3. Keyboard Setup
Smart Learn estimates every key and attempts live verification. Manual adjustment is optional,
and still physically taps the phone keyboard.
IMPORTANTBefore keyboard calibration
English setup
Open a WhatsApp chat, tap the message field, set the PHONE keyboard to ENGLISH, keep it visible, clear the draft, then click Smart Learn English.
Arabic setup
After English is captured, switch the PHONE keyboard to ARABIC, keep it visible, clear the draft, then click Smart Learn Arabic.
Learn each language and explicitly save the review. Partial learning is saved on this PC.
PHONE KEYBOARD MUST CURRENTLY BE: —
Keyboard calibration
0 / 0
Test Keyboard
This test physically types a draft on the phone. It does not press Send.
PHONE KEYBOARD MUST CURRENTLY BE: ENGLISH
FOLLOW THESE STEPS
Open a WhatsApp chat on the phone.
Tap the message field so the keyboard is visible.
Set the PHONE keyboard to ENGLISH.
Keep the keyboard visible, then click Test Keyboard.
Mixed English/Arabic test text is allowed. The agent starts from the selected phone language and switches when needed.
4. Campaign Files
Select one or more CSV/XLSX files. Every file stays separate with its own progress, sent/failed data and resume point.
REQUIRED FILE FORMAT
Your CSV/XLSX must contain the columns name and phone.
Files stored locally0
5. Local Database
Contacts, templates, keyboard profiles and campaign results stay on this PC.
StorageSQLite • Local PC
6. Ten Message Variants
Use {name}. Variants rotate from 1 → 10 → 1.
7. File Campaign Control
One phone can actively send one file at a time. Other files keep their saved progress and can be resumed later.
IMPORTANTChoose which language the PHONE keyboard will start in
BEFORE STARTING: SET THE PHONE KEYBOARD TO ENGLISH
Live activityReady
8. Delivery Data
Choose View Data on a file to see exactly who was sent, what message was used, and what failed.
#
Name
Phone
Status
Message
Details
Time
No file selected.
Previous campaign history
Legacy v1.3 campaign results remain visible here. New v1.4 file results are tracked in the table above.