Each day a new challenging word to guess!

The situation is: a small human who can barely speak tells you about something and you have to make sense of it. Small humans mispronounce words.


  • you are given a word as pronounced by my daughter (can be a noun or a name)
  • you enter your guess about what my daughter meant
  • words are almost exclusively in French (désolé)
  • capital-casing is ignored, so if you try ‘Hello’ or ‘hello’ both are counted as the same word
  • no special character (e.g., “jean-pierre” should be written “jean pierre”)
  • verbs are infinitive
  • you can ask for a hint (it will cost you some tries)
  • you can give up (note: this is not a parenting advice)
  • come back from day to day, the list has a couple dozen words to find


Inspired by Wordle.

Written in PureScript Halogen.

By Lucas DiCioccio.

Want to build your own?

I would love to know how your baby mispronounced some words, so if you follow through, please tell me. I can even reference your dataset here.

If you are tech-savvy, you can build your own babywords.js dataset in the following format:

type GameData =
  { questions :: Array Question
  , credits   :: String

type Question =
  { spoken :: String
  , actual :: String
  , hint   :: String

We provide a data sample .

option-1 serve a JSON and use this site

You can pass a special query-string parameter ?data-source=<url> to the URL of this page. Everything is done on the web-browser, hence the target URL must support CORS for GET requests on the JSON object.


option-2 serve the JS (and the JSON)

You can embed babyword.js with a parameter containing the URL at which data should be read. The script “hijacks” a div with attribute id=app so you need that too.

<div id="app"></div>
<script src="/js/babywords.js" data-humdrum-arg="/raw/data/babywords.cmark__2.json"></script>

Then you style the application in CSS.