DEV Community

Melisa Wong
Melisa Wong

Posted on AI-assisted

From a name to a habit: the 6 product layers behind NameSoul (and what I cut)

I build a Chinese naming app called NameSoul. The interesting part, for this community, isn't the naming — it's that the product is deliberately layered, and every layer exists because the layer below it failed on its own.

Here's the design, and the things I tore up on the way.

The premise

People search "give me a Chinese name." Every existing tool answers the same way: input English name → output Chinese name → done. One use. No reason to return.

I read that as a product smell. A one-shot tool has no retention surface. So the question became: what if the name is not the output, but the input to a longer path?

The six layers

Layer 1 — Choice with personality

Six stylistic paths: bold (豪放), poetic (诗意), Five Elements (五行), nature (自然), homophonic (谐音), rustic (田园). These are not cosmetic filters — each path is a different temperament, so the name itself is structurally different. Every result ships with a written rationale: character choice, cultural context, and how tone, form and imagery work together.

Layer 2 — Grounding in real people

Each name maps to a real historical figure. This is a data problem, not a copywriting problem: a curated set with accurate, English-friendly explanations. No invented characters, no vague "ancient scholar" stand-ins.

Layer 3 — Making the abstract visible

Enter a surname and it renders in seal script as a calligraphic "totem," plus brush calligraphy for the name itself. This is the layer where users go "I had no idea writing could look like this."

Layer 4 — Time as a coordinate

Birth date produces a lucky color and a personal seal. The framing matters here: it is a personal coordinate, not a prediction. That distinction drove more copy edits than any feature.

Layer 5 — Story as the payload

The "past life in China": figure, era, cities, landscapes. The design intent is that a user leaves curious about a place, not just a word.

Layer 6 — The retention hook

A daily "shake the stick" — one line, one day. Cheap to build, and it converts a one-time event into a daily habit.

Two implementation details worth stealing

  • Voice clip on every name. Foreigners can't read Chinese, and a name you can't pronounce is a name you can't own. Native audio was a small feature and it's the one users mention most.
  • Bilingual everywhere, not just on the result screen. An American sees English + Chinese; a French user sees French + Chinese. Chinese isn't the result — it's the environment.

What I cut

The first version leaned much harder on a "fate" framing — fortune-style language that demoed well and felt wrong in product. It flattens a culture into a horoscope. I removed it and rebuilt the copy around history, geography and aesthetics instead. Slower to write, and far more honest.

Where it is now

10 languages · 6 styles · real historical figures · 73 guardian beasts · audio on every name.

Next post

I'll write the technical side: how the seal-script rendering, the multi-language content pipeline, and the audio actually work — including the parts I'd do differently.

Live app / source of the content: namesoul.net

Top comments (0)