We created our own solution a few times, but when we started to build a developer tool to debug the state we finally gave redux a try. We are really happy with the choise to use redux.
We don’t use it for everything, on some components we still use twoway databinding, but the main state are always managed by redux. We used the articles you provided as input for getting started.
Another tips could be the typescript-fsa packages. They make writing actions and reducers really fun. (But they look reallyt magic the first time you see them, so I suggest go with a simple string as a action the first time). Here’s the link to typescript-fsd-reducer https://github.com/dphilipson/typescript-fsa-reducers
Thanks for asking the question, I would also like to hear how other people are managing state in aurelia.