Domain Name Brainstormer
Generate and score candidate brand / domain names from seed words using common naming patterns. The script does not check live registration — it produces candidates fast so you can spend your time evaluating the best ones.
Table of Contents
Keywords
domain, domain name, naming, brand naming, product name, company name, .com, brainstorm, naming brainstorm, brand identity, naming strategy
Clarify First
Before generating names, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Quick Start
Generate 200 Candidates in 30 Seconds
python scripts/name_generator.py "data,insight,signal" --count 200
Then:
- Eliminate anything > 12 characters
- Eliminate anything that's hard to spell after hearing it once
- Eliminate anything that sounds like a competitor
- Take the top 10-15 to a registrar (manually) to check availability across .com / .ai / .io / .co
Core Workflows
Workflow 1: Seed-Word Brainstorm
Goal: Convert a few keywords describing the product into 100+ ranked candidates.
Steps:
- List 3-7 seed words that describe the product, value, or feeling
- Run:
python scripts/name_generator.py "seed1,seed2,seed3" --count 200
- Sort the output by score (highest first)
- Apply the elimination filter from
references/naming_framework.md
- Pick a shortlist of 10-15 to manually check for trademark and domain availability
Expected Output: Ranked list of candidates with scores, classified by pattern (vowel-drop, blend, prefix-suffix, TLD-as-suffix).
Time Estimate: 5-10 minutes.
Workflow 2: Pattern-Specific Generation
Goal: Get more of one specific pattern (e.g., only blends, or only TLD-as-suffix names).
Steps:
- Run with pattern filter:
python scripts/name_generator.py "fast,ship" --pattern blend --count 100
- Available patterns:
vowel_drop, prefix_suffix, blend, tld_suffix, repeat, all
- Iterate seeds until you have 20+ candidates worth taking to availability checks
Expected Output: Pattern-specific list.
Time Estimate: 5 minutes per pattern variation.
Workflow 3: Trademark / Availability Pre-Check
Goal: Avoid wasting energy on names that are obviously taken.
Steps:
- Take the shortlist from Workflow 1 or 2
- Manually check each on:
- A domain registrar (Namecheap, Cloudflare, Porkbun) for .com / .ai / .io / .co
- The USPTO TESS database (or your jurisdiction's trademark office) for live trademarks in the relevant class
- A regular Google search for existing usage
- Drop anything with a live trademark in the same product class, an active product on a similar domain, or a trademarked .com that you do not own
The script does not automate registrar lookups — those need real network calls and rate-limited APIs. Doing this step manually for a 10-name shortlist takes 10-15 minutes.
Tools
name_generator.py
Generates candidate names by applying naming patterns to seed words and scores each on length, pronounceability, and uniqueness.
# Default: 100 candidates, all patterns
python scripts/name_generator.py "data,signal,insight"
# More results
python scripts/name_generator.py "data,signal" --count 300
# One pattern only
python scripts/name_generator.py "data,signal" --pattern vowel_drop
# JSON for programmatic use
python scripts/name_generator.py "data,signal" --json
Patterns implemented:
vowel_drop — Remove inner vowels: "data" → "dta", "insight" → "nsght"
prefix_suffix — Add common naming prefixes/suffixes: "ly", "ify", "io", "lab", "labs", "hq", "co", "stack", "kit", "app"
blend — Combine two seeds: "data" + "signal" → "dasignal", "datignal"
tld_suffix — Treat TLD as part of the name: "send.fast" reads as "sendfast"
repeat — Doubling pattern: "data" → "datadata"
Score (0-100) factors:
- Length 5-10 chars scores highest
- Pronounceability via consonant-vowel ratio
- Penalty for common-word collisions
- Penalty for hyphens or numbers (these dilute brand)
Reference Guides
references/naming_framework.md — Why names matter, the elimination filter, naming-pattern playbook, common pitfalls
Best Practices
- Don't pre-commit to .com. A
.io or .ai is fine for most B2B products in 2026; .com matters less than it did a decade ago.
- Say it out loud. If you can't tell someone the domain in a noisy bar and have them spell it correctly, drop it.
- Avoid naming-collisions. A "DataLoop" in your space and a "DataLoop" in adjacent SaaS will cause confusion forever.
- Don't pick the first one. Generate 200, filter to 30, shortlist 10, sit on the shortlist for 24 hours. The one that still feels right after sleeping is the one.
- Trademark before launching. A great name with a trademark conflict will cost you a rebrand later.
Integration Points
- Pairs with
marketing/brand-strategist/ for brand-narrative work
- Pairs with
marketing/landing-page-generator/ for messaging once a name is chosen
- Used by
c-level-advisor/ workflows during company / product launches
1---
2name: domain-name-brainstormer
3description: >
4 Generate and score candidate brand, product, and domain names for
5 memorability and pronounceability. Use when naming a new product, company,
6 or feature, brainstorming brand names, or finding an available .com.
7license: MIT + Commons Clause
8metadata:
9 version: 1.0.0
10 author: borghei
11 category: personal-productivity
12 domain: branding
13 updated: 2026-05-04
14 python-tools: name_generator.py
15 tech-stack: branding, naming
16---
17
18# Domain Name Brainstormer
19
20Generate and score candidate brand / domain names from seed words using common naming patterns. The script does not check live registration — it produces candidates fast so you can spend your time evaluating the best ones.
21
22---
23
24## Table of Contents
25
26- [Keywords](#keywords)
27- [Quick Start](#quick-start)
28- [Core Workflows](#core-workflows)
29- [Tools](#tools)
30- [Reference Guides](#reference-guides)
31- [Best Practices](#best-practices)
32
33---
34
35## Keywords
36
37domain, domain name, naming, brand naming, product name, company name, .com, brainstorm, naming brainstorm, brand identity, naming strategy
38
39---
40
41## Clarify First
42
43Before generating names, confirm these inputs. If any is unknown or vague, ASK — do not assume:
44
45- [ ] **Seed words** — 3-7 words describing the product, value, or feeling; every candidate is built from these
46- [ ] **Brand tone** — serious/technical vs playful/coined steers which patterns (blend, vowel-drop, prefix-suffix) to favor
47- [ ] **TLD preference** — .com vs .ai/.io/.co changes the shortlist and whether the `tld_suffix` pattern applies
48
49Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
50
51---
52
53## Quick Start
54
55### Generate 200 Candidates in 30 Seconds
56
57```bash
58python scripts/name_generator.py "data,insight,signal" --count 200
59```
60
61Then:
621. Eliminate anything > 12 characters
632. Eliminate anything that's hard to spell after hearing it once
643. Eliminate anything that sounds like a competitor
654. Take the top 10-15 to a registrar (manually) to check availability across .com / .ai / .io / .co
66
67---
68
69## Core Workflows
70
71### Workflow 1: Seed-Word Brainstorm
72
73**Goal:** Convert a few keywords describing the product into 100+ ranked candidates.
74
75**Steps:**
761. List 3-7 seed words that describe the product, value, or feeling
772. Run: `python scripts/name_generator.py "seed1,seed2,seed3" --count 200`
783. Sort the output by score (highest first)
794. Apply the elimination filter from `references/naming_framework.md`
805. Pick a shortlist of 10-15 to manually check for trademark and domain availability
81
82**Expected Output:** Ranked list of candidates with scores, classified by pattern (vowel-drop, blend, prefix-suffix, TLD-as-suffix).
83
84**Time Estimate:** 5-10 minutes.
85
86### Workflow 2: Pattern-Specific Generation
87
88**Goal:** Get more of one specific pattern (e.g., only blends, or only TLD-as-suffix names).
89
90**Steps:**
911. Run with pattern filter: `python scripts/name_generator.py "fast,ship" --pattern blend --count 100`
922. Available patterns: `vowel_drop`, `prefix_suffix`, `blend`, `tld_suffix`, `repeat`, `all`
933. Iterate seeds until you have 20+ candidates worth taking to availability checks
94
95**Expected Output:** Pattern-specific list.
96
97**Time Estimate:** 5 minutes per pattern variation.
98
99### Workflow 3: Trademark / Availability Pre-Check
100
101**Goal:** Avoid wasting energy on names that are obviously taken.
102
103**Steps:**
1041. Take the shortlist from Workflow 1 or 2
1052. **Manually** check each on:
106 - A domain registrar (Namecheap, Cloudflare, Porkbun) for .com / .ai / .io / .co
107 - The USPTO TESS database (or your jurisdiction's trademark office) for live trademarks in the relevant class
108 - A regular Google search for existing usage
1093. Drop anything with a live trademark in the same product class, an active product on a similar domain, or a trademarked .com that you do not own
110
111> The script does **not** automate registrar lookups — those need real network calls and rate-limited APIs. Doing this step manually for a 10-name shortlist takes 10-15 minutes.
112
113---
114
115## Tools
116
117### name_generator.py
118
119Generates candidate names by applying naming patterns to seed words and scores each on length, pronounceability, and uniqueness.
120
121```bash
122# Default: 100 candidates, all patterns
123python scripts/name_generator.py "data,signal,insight"
124
125# More results
126python scripts/name_generator.py "data,signal" --count 300
127
128# One pattern only
129python scripts/name_generator.py "data,signal" --pattern vowel_drop
130
131# JSON for programmatic use
132python scripts/name_generator.py "data,signal" --json
133```
134
135**Patterns implemented:**
136- `vowel_drop` — Remove inner vowels: "data" → "dta", "insight" → "nsght"
137- `prefix_suffix` — Add common naming prefixes/suffixes: "ly", "ify", "io", "lab", "labs", "hq", "co", "stack", "kit", "app"
138- `blend` — Combine two seeds: "data" + "signal" → "dasignal", "datignal"
139- `tld_suffix` — Treat TLD as part of the name: "send.fast" reads as "sendfast"
140- `repeat` — Doubling pattern: "data" → "datadata"
141
142**Score (0-100) factors:**
143- Length 5-10 chars scores highest
144- Pronounceability via consonant-vowel ratio
145- Penalty for common-word collisions
146- Penalty for hyphens or numbers (these dilute brand)
147
148---
149
150## Reference Guides
151
152- **`references/naming_framework.md`** — Why names matter, the elimination filter, naming-pattern playbook, common pitfalls
153
154---
155
156## Best Practices
157
158- **Don't pre-commit to .com.** A `.io` or `.ai` is fine for most B2B products in 2026; `.com` matters less than it did a decade ago.
159- **Say it out loud.** If you can't tell someone the domain in a noisy bar and have them spell it correctly, drop it.
160- **Avoid naming-collisions.** A "DataLoop" in your space and a "DataLoop" in adjacent SaaS will cause confusion forever.
161- **Don't pick the first one.** Generate 200, filter to 30, shortlist 10, sit on the shortlist for 24 hours. The one that still feels right after sleeping is the one.
162- **Trademark before launching.** A great name with a trademark conflict will cost you a rebrand later.
163
164---
165
166## Integration Points
167
168- Pairs with `marketing/brand-strategist/` for brand-narrative work
169- Pairs with `marketing/landing-page-generator/` for messaging once a name is chosen
170- Used by `c-level-advisor/` workflows during company / product launches