GrowthKit AI

Find business leads on Google Maps, check which numbers are on WhatsApp, and send each contact a personal message — all from one Windows app.

Version 2.0Released 20 October 2026Windows 10 / 11 (64-bit)

1Overview

GrowthKit AI puts lead finding and WhatsApp messaging on your Windows PC. To start, make a license key for your computer with the included Key Generator and enter it in the app.

Account ManagementLink and manage WhatsApp accounts.
Individual SenderSend a message to every number in a list.
Message TemplatesSave message texts and reuse them.
Contact GroupsOrganize numbers; import from Excel.
WhatsApp Number FilterFind out which numbers have WhatsApp.
Grab Chat ListExport the numbers in your chats.
WhatsApp Label ExtractorExport customers by WhatsApp Business label.
Google Maps Data ExtractorCollect business data from Google Maps.

2Package contents

FolderWhat it is
Executable_AppGrowthKitAI-Setup-2.0.exe, the app installer. Give this to your customers.
Keygen_ToolGrowthKitKeyGen-Setup-2.0.exe to make license keys.
Source_CodeThe complete source: GrowthKit_AI (the app and installer scripts) and Key_gen (the Key Generator).
DocumentationThis page.

3Requirements

4Installation

  1. Run GrowthKitAI-Setup-2.0.exe. If Windows shows Windows protected your PC, click More info, then Run anyway, and accept the permission prompt.
Windows protected your PC
Click More info.
Run anyway
Click Run anyway.
  1. Choose the setup language (English or Arabic) and click OK.
Setup language
Setup language.
  1. Keep the default folder C:\Program Files\GrowthKit AI and click Next.
  2. Keep Create a desktop shortcut ticked and click Next.
Destination folder
Install folder.
Desktop shortcut
Desktop shortcut.
  1. Click Install and wait until the files are copied.
  2. Click Finish. The app opens on the activation screen.
Ready to install
Ready to install.
Setup finished
Setup finished.
If the app is open while you install, setup closes it first. Uninstalling keeps the license, accounts and groups, so they are all there after a new install.

5Activation

Each license works on one computer. The key is made for that computer's Machine ID.

  1. Open the app. Copy Your Machine ID with the copy button 1.
  2. Make the key with the Key Generator. Paste it in Enter License Key 2.
  3. Click Activate Now 3.
Activation screen
The activation screen.
MessageWhat to do
This license is for a different machineThe key was made for another computer. Make a key for this computer's Machine ID.
The license expired on …Make a new key with a new period for the same Machine ID.
The computer's date is earlier than the last time the app was usedFix the Windows date and time, then reopen the app. No new key is needed.

6Key Generator

  1. Install GrowthKitKeyGen-Setup-2.0.exe and open it.
  2. Enter your details 1: your name or business and your phone or email. They are optional, and they appear in License Details inside the app.
  3. Paste your Machine ID 2. You find it on the app's activation screen (see Activation). It must be 16 characters.
  4. Set the duration in days, hours and minutes 3, or tick Lifetime license (never expires) 4.
Key Generator details
Your details and the duration.
  1. Under Package Features, tick the tools you want to use, or All tools.
Choosing tools
Choosing the tools.
  1. Click GENERATE LICENSE, copy the key (it starts with GK2.) and paste it into the app's activation screen.
Generated key
The generated key.

7Dashboard

The menu on the left opens every tool. The dashboard shows the available tools; click a card to open it.

Dashboard
The dashboard.

8WhatsApp accounts

Every WhatsApp tool needs a linked account. You can link several; each has its own browser profile.

  1. Open Account Management and click Add New Account 1.
  2. Enter a name (for example: Marketing) and choose how to link it:
    • QR Code: on the phone open WhatsApp → Linked devices → Link a device and scan the code.
    • Phone Link (Code): enter the number with its country code, digits only. An 8-character code appears; on the phone choose Link with phone number instead and type it.
    • External Browser: opens a visible browser window where you scan the code yourself.
  3. Wait for the success message. Linking stops after 5 minutes; you can try again.
Add account
Adding an account.
Account list
The account list.
ButtonWhat it does
1Add New AccountLinks a new WhatsApp account.
2Refresh StatusChecks that the account is still linked.
3Rename AccountChanges the name shown in the app.
4Open in BrowserOpens the account's WhatsApp Web in a visible window.
5Delete AccountLogs the account out of WhatsApp and deletes its data from the computer.

9Message Templates

  1. Open Message Templates and click Create New Template.
  2. Enter a name, a category and the message. Click a variable chip to insert it at the cursor; the preview shows the message for a sample contact.
  3. Save. In the Individual Sender, pick the template from Apply Message Template.
Templates
Saved templates.
New template
A new template with variables and the live preview.

10Contact Groups

Groups are the phone lists used by the Sender and the Filter. Every tool that finds numbers can save them as a group.

  1. Open Contact Groups, click Create New Group and enter a name and description.
  2. Open the group and add members with Add Member, or Import from Excel (xlsx, xls or csv). The import shows a preview where you can pick the phone and name columns.
New group
Creating a group.
Group members
A group's members.

11Individual Sender

Sends a message to every number in the list, one by one, with random gaps between messages.

Step 1: the message

  1. Pick a saved template 1, or write the message 6.
  2. Insert variables from the toolbar 2: Random, Name, Phone, Spoiler and Key Marker (see Variables).
  3. Add attachments 3: Poll, Media (image, video, file, sticker, voice note), Location, Contact or Event. They are sent with every message.
  4. Optional: AI Generate 4 writes several versions of your message, and 5 adds or removes a version tab. Versions are sent in turn: the first number gets version 1, the second version 2, and so on.
Message section
The message section.
Poll
Adding a poll.
Attachments
The poll in the attachments list.
AI Generation
AI Generate: choose how many versions.
AI versions
Each version opens in its own tab.

Step 2: the numbers

  1. Choose a saved group in Select Target Group, or use Upload Excel File or Paste Numbers. Download Sample gives an example Excel file; any extra column can be used as a variable.
  2. For local numbers, type the country code and click Add Code. Remove Duplicates cleans the list.
Numbers
Numbers loaded from a group.

Step 3: settings and launch

  1. Click Settings 1 and choose the account.
  2. Click Start 3. Stop 2 stops at once, even during a wait. Progress appears in the console 4 and each number's status in the table.
Launch
Launch and console.
Sender settings
Sender settings.
SettingDefaultMeaning
1Select WhatsApp Account—The account that sends.
2Hide BrowserOnRuns the browser in the background.
3Wait between messages20–40 sA random gap before each message.
4Rest Settings120–300 s every 15A longer pause after every X messages.

At the end, a message shows how many were sent, failed and skipped; export the table with Export Excel. If you run the same list again, the app asks whether to skip the numbers that already got the message.

12WhatsApp Number Filter

Shows which numbers have WhatsApp, and which are business accounts, before you send.

  1. Choose the account. Type or paste the numbers (one per line), or load them from a file or a group.
  2. Click Start Checking. The counters show Available, Not Available, Business, Regular and Unknown.
  3. Export with Export Excel, or keep the valid numbers with Save Selected to Contact Group.
Number filter
Numbers ready to check.

Safe Mode Settings: after every batch of numbers 2 (default 100), the app pauses for a random time between Min and Max seconds 1 (default 1–10 s). Numbers must be in international form, with the country code.

Safe mode
Safe Mode Settings.

Generate Numbers makes a list in sequence from a country code, a starting number, a quantity and a step.

Generate numbers
Generate Numbers.

13Grab Chat List

  1. Choose the account and click Fetch Chat List.
  2. All chats appear with their type: person, group, channel or broadcast list.
  3. Use Export to Excel, or Save Selected to Contact Group.
Chat list
Grab Chat List.
Groups, channels and chats whose number WhatsApp hides are not exported as phone numbers; the app tells you how many were left out.

14WhatsApp Label Extractor

For WhatsApp Business accounts that use labels such as "New customer" or "Paid".

  1. Choose the account and click Fetch Labels.
  2. Each label appears with its chats. A chat with two labels appears under both.
  3. Export a label to Excel, or save it as a contact group.
Labels
WhatsApp Label Extractor.

15Google Maps Data Extractor

  1. Write one search per line 1, for example Restaurants in Dubai.
  2. Choose the options 2–4 (table below) and click START PROCESS 5.
Maps extractor
Google Maps Data Extractor.
ItemMeaning
2Grab Emails?Also opens each place's website to look for an email. Slower.
3Hide BrowserRuns the browser in the background (default on).
4Max Results (Per Query)Default 0, which means all results. When a search runs out of places, the app continues in the surrounding area.
5START PROCESS / STOPStarts or stops the extraction.
6Export All Data / Export Phones Only / Save as Contact GroupSaves the results.
7Logs / ResultsProgress messages, and the results table.
Done
The extraction is finished.
Results
The Results tab.

Each place has its name, category, phone, address, website, rating, number of reviews, Maps link and coordinates (and email if chosen). Results are also saved while the app works to Documents\GrowthKit AI\Results as a CSV file.

If Google asks you to confirm you are not a robot, untick Hide Browser, run again and complete the check in the browser window. The app waits up to two minutes, then continues.

16Variables

Variables work in the Individual Sender and in Message Templates. Upper and lower case are the same.

VariableBecomes
{Name} or {{NAME}}The person's name. Empty if there is none.
{Phone} or {{PHONE}}The person's number.
{Date} or {{DATE}}Today's date, like 2026-01-31.
{Time} or {{TIME}}The current time, like 14:05.
{{RANDOM}}A random 5-digit number, different in each message.
{{KEY: Hi | Hello | Hey}}One of the options, picked at random. Options may contain variables.
{{SPOILER}}Hides what follows behind WhatsApp's "Read more".
{Any column}Any column of your Excel file, like {City}.

Example: {{KEY: Hi | Hello}} {Name}, today's offer ends at {Time}!

17Settings and license

Settings
Global Settings.
ItemWhat it does
1Google Gemini API KeyNeeded only for AI Generate. Get one free at aistudio.google.com.
2Theme / LanguageThe app's look and language. Click Save Changes.
3BrandingShow your own name and logo in the app (see Logo, colors and languages).
4Safe Browser CleanerClears temporary browser files if things get slow. Accounts stay linked.
5Fix Frozen BrowserUse it when the browser won't open or says the account is open in another window. Closes GrowthKit's browsers only.
6Update Browser DriverUse it if the browser stops opening after Chrome updates (needs internet).

License Details shows the license owner, the seller, the dates, the enabled tools and the version.

License details
License Details.

18Logo, colors and languages

There are two ways to make the app your own. Change the name and logo from Settings, with no code and no rebuild. Or change the logo, colors, themes and texts in the source code, then rebuild the installers.

Name and logo from Settings (no code)

Branding in Settings
Branding in Global Settings.
ItemWhat it does
1Logo previewThe logo the app shows now.
2App nameYour name, up to 40 characters. Leave it empty to use the default name.
3Choose logoPick a PNG or JPG file up to 5 MB. It is applied at once. A square image with a transparent background looks best.
4Restore defaultBrings back the original name and logo.
5Save ChangesSaves the name. The new name shows in the sidebar and the window title.
Custom name and logo
A custom name and logo in the sidebar 1 and in Settings 2.
The name and logo are saved on each computer in %APPDATA%\GrowthKitAI (the logo is copied to the branding folder). They stay when you install an update. To give every customer your brand from the first start, change the defaults in the source code instead.

Logo, icon and name in the source code

The paths below are inside Source_Code\GrowthKit_AI.

What to changeFileNotes
Default logo (sidebar, Settings)ui\logo.pngPNG, 128 × 128 px, transparent background. Keep the file name.
App icon (program file, taskbar, installer, shortcuts)installer\icon.icoA Windows .ico with the sizes 16, 24, 32, 48, 64, 128 and 256 px.
Default app nameservices\branding.py (DEFAULT_NAME) and "app_title" in every file in translationsChange both so every language shows the new name.
The line under the name ("PRO EDITION · v2.0")ui\app_layout.pySearch for PRO EDITION.
Program name in Windows (program folder, Start menu, Apps list)installer\growthkit.iss (AppName, AppExe) and installer\build.py (APP_NAME, COMPANY)AppExe must be APP_NAME + .exe.
Do not change AppId in installer\growthkit.iss. It lets a new version replace the installed one and keep the customer's data.

Colors and themes

The app has 12 themes; the user picks one in Settings → Theme. Each theme is a set of colors in ui\themes.py:

KeyUsed for
modeft.ThemeMode.DARK or ft.ThemeMode.LIGHT.
bgThe page background.
sidebarThe sidebar background.
primaryThe main color: buttons, the selected menu item, icons and highlights.
textThe main text color.
card_bg / input_bgCards and input fields.
dividerLines between sections.

Colors are hex codes like "#0f172a" or Flet colors like ft.Colors.BLUE_600.

Language files

Every text in the app is in translations, one JSON file per language: en.json, ar.json, fr.json and so on. Each line is a key and its text:

"settings_brand_logo_btn": "Choose logo",

After changing the source code, run the app with .venv\Scripts\python main.py to check it, then rebuild the installers (see Source code). Changes in the source code reach your customers only through the new installers.

19Safe use

GrowthKit AI is not affiliated with WhatsApp, Meta or Google. Users are responsible for messaging only people who agreed to hear from them, and for following WhatsApp's and Google's terms and their local laws. Keep the default gaps or make them longer.

20Troubleshooting

MessageWhat to do
Could not prepare the browser…Check the internet connection and try again, then try Update Browser Driver in Settings.
This WhatsApp account is not logged in…The account was logged out from the phone. Link it again in Account Management.
This account is already open in another window…Close the other window, or use Fix Frozen Browser.
The browser window was closed, so the task stopped.Don't close the browser window while a task runs. Run the tool again.
Google asked to confirm you are not a robot…Untick Hide Browser and complete the check yourself.

Where the data is

21Source code

Only needed if you want to change or rebuild the app. Python 3.13 (64-bit).

  1. In Source_Code\GrowthKit_AI: python -m venv .venv, then .venv\Scripts\pip install -r requirements.txt.
  2. Run the app: .venv\Scripts\python main.py.
  3. Run the Key Generator from Source_Code\Key_gen: pip install -r requirements.txt, then python keygen.py.
  4. Rebuild the installers: in Source_Code\GrowthKit_AI, install the tools in installer\requirements-build.txt and Inno Setup 6, then run .venv\Scripts\python installer\build.py. It builds the Key Generator from ..\Key_gen.
FolderContents
GrowthKit_AI\main.pyStarts the app.
GrowthKit_AI\uiScreens (Flet).
GrowthKit_AI\coreLicense check, storage and the tools (WhatsApp, Google Maps).
GrowthKit_AI\servicesSettings, groups, templates and maintenance.
GrowthKit_AI\translationsInterface texts in 11 languages.
GrowthKit_AI\installerBuild and Inno Setup scripts.
Key_genKey Generator.

22Support

When you contact us for help, please include:

↑