DEV Community

Yunhan
Yunhan

Posted on

How We Handle Dual-Pronunciation Letters in Baby Name Search

When building BabyNamePick, we discovered that some letters create interesting UX challenges. The letter C is the best example — it has two completely different sounds.

The Problem

C names like Callum and Celeste start with the same letter but sound nothing alike. Parents searching for a "K-sounding" name don't want to wade through "S-sounding" results, and vice versa.

Our Approach

We added phonetic metadata to our name database:

// Each name includes its phonetic start
{
  name: "Callum",
  phoneticStart: "hard-c", // K sound
  origin: "scottish"
}
{
  name: "Celeste",
  phoneticStart: "soft-c", // S sound
  origin: "latin"
}
Enter fullscreen mode Exit fullscreen mode

This lets us offer a toggle on the C names page — browse all C names, or filter by sound.

The Linguistic Rule

The pattern is actually predictable:

  • Before A, O, U and consonants → hard C (K sound): Callum, Corbin, Clara
  • Before E, I, Y → soft C (S sound): Celeste, Cillian, Cyrus

We use this rule as a fallback when phonetic data isn't manually tagged:

function getPhoneticType(name) {
  const secondChar = name[1]?.toLowerCase();
  if ('eiy'.includes(secondChar)) return 'soft-c';
  return 'hard-c';
}
Enter fullscreen mode Exit fullscreen mode

Why It Matters

Small details like this separate a useful tool from a great one. Parents browsing baby names starting with C appreciate not having to mentally filter results themselves.

The same principle applies to other letters — G has hard/soft variants too (George vs Gabriel). Building these phonetic distinctions into search makes the experience feel intuitive.

Check out our full collection of C names or explore B names and D names for neighboring letters.

Top comments (0)