Designing a Better Baby Name Search UX and Unicode
Learn how Nurturepedia built a robust baby name discovery engine by solving Unicode challenges, relevance ranking, and multi-layered metadata.

Stock photo for illustration only, not from the actual event
- Building a baby name database is more complex than basic CRUD due to user behavior.
- Separating display data from search data solves Unicode and accent variations.
- Relevance ranking models deliver better search results than strict text matching.
A baby-name database initially sounds like a straightforward CRUD problem where you store a name, its meaning, add a few filters, and put a search box on top. That was roughly how Attaullah Siddiqi viewed it when working on Nurturepedia, before observing how people actually search for names in real-world scenarios.
Users do not always type exact spellings. They search by meaning, try different spellings, mix cultural preferences, or look for names from particular origins and religions. Sometimes they know the sound but have no idea how it is spelled, turning a simple database lookup into a fascinating engineering challenge.

Stock photo for illustration only, not from the actual event
The first mistake is treating a baby name as a single string. A useful name record requires significantly more context, separating fields like name and normalizedName. This separation becomes especially useful when datasets contain accents, diacritics, alternate spellings, or characters from different writing systems.
"Search data and presentation data have different jobs."
Attaullah Siddiqi
JavaScript developers eventually encounter the frustrating fact that two strings can look identical while containing different Unicode representations. Characters like é can use a single code point or a base character with a combining accent, which is why String.prototype.normalize() is necessary, though original display values should never be replaced by normalized data.
Separating search data from presentation data is a cornerstone architecture for advanced search systems. This pattern extends far beyond baby names, benefiting international addresses, product catalogs, author names, and multilingual content by decoupling what humans see from what machines process.
Once Unicode issues are addressed, relevance ranking becomes the core priority. A practical scoring model follows a structured hierarchy:
- Exact name match
- Exact normalized match
- Prefix match
- Alternate spelling match
- Meaning match
- Broader relevance
MongoDB Search provides specialized tools for relevance-oriented discovery, including autocomplete, compound queries, filtering, and scoring, offering far more control than repeatedly throwing regex queries at a collection.
Source: Dev.to
Found something wrong in this article? Report an issue with this article
Comments
Leave a Comment