How I Used best-name-generator to Create 100 Good Names in 10 Minutes
This article is not about theory. It is about how to actually use best-name-generator in a real workflow.
Imagine this situation:
- You are building a tool for indie hackers
- The core feature is: "help people generate good names automatically"
- You want a brand name that feels modern, trustworthy and a bit playful
Here is how I would use best-name-generator to generate and refine a lot of good candidates in just a few minutes.
Step 1 – Start with a messy idea, not a perfect brief
You do not need a perfect description to begin. You only need:
- A rough idea of what you are naming
- A rough sense of what you absolutely do not want
Some good starting prompts could be:
business name generator for indie hackersAI name generator for SaaS toolsstartup name generator, trustworthy but modern
On the frontend, you simply send this text as user_input to:
POST /api/names/generate
The API will:
- Analyze your scenario and guess the context
- Generate an
initial_guessabout your use case and style - Return a first batch of names
- Provide a set of clarifying questions for the next round
At this point, you already have usable names you can review, but the real magic happens in the next step.
Step 2 – Let the questions sharpen your taste
The response from /api/names/generate includes:
questions: a list of questions with multiple‑choice optionsgenerated_names: the first round of name candidatessession_id: the ID for this ongoing naming session
In your UI, you can simply render each question as a group of radio buttons. For example:
- For brand names: target audience, price level, brand personality
- For fantasy / character names: character type, setting, gender, moral alignment
- For projects / tools: tone (serious vs playful), level of technical flavor
The user just clicks through what feels right. Internally, you collect those choices into a user_answers object and send them to:
POST /api/names/regenerate
Together with:
- The
session_idyou got in the first call - The original
initial_guessandquestions
This second call does not just add more randomness. It uses the chosen options to narrow down the style so the names feel much closer to what the user actually wants.
Step 3 – Read the explanation, not just the name
With every call, you get a list of NameOption objects. Each one is like a micro‑profile of a name, including:
name– the candidate itselfmeaning– how it should be understood in contextorigin– what it sounds like culturally or linguisticallypopularity– common, moderate or rarepronunciation– how to read it out loudphonetic_score– how smooth and memorable it soundscultural_notesandsafety_check– potential red flags
When you are choosing between candidates, these fields are gold:
- Use
meaningandoriginto check if the story behind the name matches your product - Use
popularityandphonetic_scoreto balance uniqueness vs memorability - Use
cultural_notesandsafety_checkto avoid embarrassing mistakes
In your frontend, this works great as a grid of cards where each card is one NameOption with a short explanation.
Step 4 – Iterate quickly without losing context
Because every interaction is tied to a session_id, you can:
- Show a first batch of names
- Let the user tweak answers to the questions
- Regenerate new names while keeping the same high‑level intent
From a UX perspective, this feels like a conversation:
- “Here is what I am naming.”
- “Here are a few options and some quick questions.”
- “Based on your answers, here are better options.”
All of this happens through just two endpoints, but the experience feels much richer than a one‑shot generator.
Step 5 – Use strict errors as signals, not annoyances
best-name-generator is built with a fail fast, fail loud philosophy. That means:
- If the data is wrong or incomplete, the API will tell you
- It will not silently fall back to some default behavior
- It will not try to "auto‑fix" the output behind your back
This might feel strict at first, but it has real benefits:
- You always know when something is off
- Bugs and misconfigurations are easier to find and fix
- You can trust that the data you see is exactly what the system meant to produce
When you are building serious products, this kind of transparency is much more valuable than a fake sense of smoothness.
Putting it all together in your own project
Here is what a simple end‑to‑end flow looks like in practice:
- User types a natural‑language prompt about what they want to name
- Frontend calls
/api/names/generate - You display:
- The first batch of names
- The clarifying questions
- User answers the questions
- Frontend calls
/api/names/regeneratewithsession_id,user_answers,initial_guessandquestions - You display a refined list of names, each with rich explanation
From here, you can add:
- Favorite / bookmark buttons
- Side‑by‑side comparison of 2–3 names
- Export / share options for teams
All powered by the same simple API.
Why this matters
Good names are extremely high‑leverage:
- They change how people remember your product
- They affect how seriously others take your project
- They make marketing, storytelling and word‑of‑mouth easier—or harder
best-name-generator does not replace your intuition. It amplifies it by giving you:
- More high‑quality options
- Deeper explanations for each one
- A structured way to explore different styles
If you have a project in mind right now, try running it through best-name-generator once. You might not pick the first name it suggests—but you will almost certainly discover options you would never have thought of alone.