Prague, if you live outside the tourist area. Very healthy arts/music scene. And you're a short train ride from Berlin, Vienna, and Budapest, which have great scenes of their own.
Had a similar experience - started as a teenager and now it's automatic. Also dreams are becoming more abstract, more visceral, and more epic as I age.
Sometimes wish I could turn it off, though - it can be exhausting. I'd like sleep to be more restful by default but have a way to choose to have a lucid dream if desired.
Redux has been great, but after a few years, I've had enough of the action creator and reducer boilerplate, and now just use Proxy objects for external state (with a listener on the handler's setter). It's mutable but hasn't been a problem in practice.
Terrible experience here. Endless problems with the ID card, slow, unhelpful support, clunky company admin portal with poor translations. Got spammed by random accounting firms as soon as I was on the company register. I gave up and decided to just continue using my NZ-based company in the end. They need to do a better job if they want to live up to their self-congratulatory marketing.
I would want the inverse of that, where the application logic is in some high-level language, and the rendering is done in WASM, i.e. react-dom and the diffing parts of react are in WASM.
I also use that billing strategy happily. There's another detail that helps with 'training' new clients on good payment behaviour - give them a small % discount on the next milestone if they pay early on the first.
Specialisation helps. Look at what the market wants, is paying well for, and is underserved by. Then you can just look for advertised contract gigs. It's also nice to have one or two contacts who funnel you work, but not essential, if you have an in-demand specialty.
For me, contracting works because you can go in, provide value, get paid, and get out, before getting too involved in some inevitably quixotic adventure. Of course, you have to pick your clients/jobs. It's more pleasant to work on greenfield stuff or for clients where one of the founders is technical. And define clear end-points up-front. Otherwise, it will be a pain. Pickiness is a privilege that should be used to the max.
I burned out three times in salaried jobs. Mostly due to chaotic leadership. Hard work isn't the problem. Chaos and bad leadership is the problem. Moved to contracting, and have been fine since.
You can replace redux with any FRP library. Your state is a signal/stream/whatever that folds over an initial state with a signal/stream/whatever of actions/messages. Your top level view component should listen and render based on that. Example: https://github.com/twfarland/sprezzatura-acto-mario