← Crafts
Onoma preview

Onoma

AI pilot Solo engineer

A naming engine for tech brands — five systematic layers from company etymology to product vocabulary, ranked by cohesion and pronounceability.

Problem

Most companies name products like form fields: one word per launch, no grammar connecting them. After a few releases you inherit Pro, Pro Plus, and something called Ultra. Names stop communicating capability.

Onoma generates complete naming packages where every layer follows constraints — company roots, flagship identity, tier ladder, product surfaces, and project codenames — then ranks output by metaphor fit and timelessness.

Naming layers

  • Company names with documented etymological roots, not random syllables
  • Flagship identities that read as personas rather than SKU labels
  • Three-tier model ladders that signal capability without a spec sheet
  • Plain functional product surfaces and precise metaphorical codenames
  • Refinement loop that accepts feedback and corrects constraint violations before delivery
NamingParams NamingService language model calls cohesion + pronounceability GenerateResult refineNames(feedback)
Generation pipeline
export async function generateNames(
  params: NamingParams
): Promise<Result<GenerateResult>> {
  return service.generate(params);
}

export async function refineNames(
  previousResult: GenerateResult,
  feedback: RefineFeedback
): Promise<Result<GenerateResult>> {
  return service.refine(previousResult, feedback);
}
Onoma naming package placeholder
Screenshot placeholder — swap for a generated five-layer naming result.