#JavaScript (ES6), <s>36</s> <s>28</s> 27 bytes

<sup>*Saved 1 byte by inverting the result, as suggested by LarsW*</sup>

Takes input in lowercase. Returns `false` for a strong word and `true` for a non-strong word.

<!-- language: lang-js -->

    s=>/[^aeiouy]{2}/.test(s+0)

###How?

We append a `0` (non-vowel) at the end of the input string and look for two consecutive non-vowel characters. This allows us to cover both cases that make a word *not* strong:

- it contains two consecutive consonants
- *or* it ends with a consonant


###Test cases

<!-- begin snippet: js hide: true console: true babel: false -->

<!-- language: lang-js -->

    let f =

    s=>/[^aeiouy]{2}/.test(s+0)

    ;[
      "hate", "love", "popularize", "academy", "you", "mouse", "a", "euouae",
      "acorn", "nut", "ah", "strong", "false", "parakeet"
    ]
    .forEach(s => console.log(s + ' --> ' + f(s)))


<!-- end snippet -->