Despite having worked with Flask and Rails for the last 6-7 years I'm going for Elixir this time around because there are aspects of the app that lend itself well to what Phoenix has to offer and I'm using this as an opportunity to grow as a developer. Every time I learn a new language / framework I find myself leveling up in other technologies I know.
So far I'm super excited with the way things are turning out. I'm still pretty early on in the project but I've gotten a decent amount of functionality implemented already.
I'm really surprised Elixir isn't more popular. The language author and the supporting community is awesome, and I've been the happiest I've ever been working with this tech stack. Of course I'm still drinking the "omg this is new and awesome" kool-aid, but even without really knowing everything too well, I'm able to accomplish real world tasks and that's all I care about in the end.
Sprinkling in either Elm or Vue for the one or two complicated widgets I'm going to need, but I haven't committed to either one yet.
On the front-end I might still experiment, but I think I'll settle for at least a decent chunk of time on this:
1. React + Styled Components (so html/css/js is finally no longer decoupled in a way that just makes no sense)
2. Page.js or something similar for routing, because I've been bitten too often by react-router and like, and the idea that routing is it's own thing makes sense to me.
3. Baobab.js or something similar for state management: basically, A. a single state object with B. a kind of cemtralized action-flow to change this state, and C. listeners of sorts within various components that trigger a re-render (cursors in the case of Baobab). I could go full-on redux, but it doesn't seem, necessary and I kind of relish running into the situation where, as my apps grow, it turns out to be immediately obvious why Redux does what it does.
I'd be very curious to get some feedback on my choices, and/or alternative suggestions. In particular regarding 3.
EDIT: to be clear, this is for full-on SPA's with no kind of crawling/SEO needs.