What's Campaign logo

LOCAL DATA • USB PHONE CONTROL

What's Campaign

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
  1. Open a WhatsApp chat, tap the message field, and clear the draft.
  2. Show the normal full-width keyboard in portrait orientation and select the matching keyboard preset.
  3. Set the phone keyboard to English, click Smart Learn English, review the labels, and click Save Learned Mapping.
  4. 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 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 version 1.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.

IMPORTANT Before 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.

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
  1. Open a WhatsApp chat on the phone.
  2. Tap the message field so the keyboard is visible.
  3. Set the PHONE keyboard to ENGLISH.
  4. 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 locally 0

5. Local Database

Contacts, templates, keyboard profiles and campaign results stay on this PC.

Storage SQLite • 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.

IMPORTANT Choose which language the PHONE keyboard will start in
BEFORE STARTING: SET THE PHONE KEYBOARD TO ENGLISH
Live activity Ready

8. Delivery Data

Choose View Data on a file to see exactly who was sent, what message was used, and what failed.

#NamePhoneStatusMessageDetailsTime
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.

Personalized preview

Line breaks and tabs are typed as spaces. Nothing is sent.