It also doesn't have to be very complicated. patio11 on here famously got his start selling a program that made bingo cards for teachers. And then doing automated appointment reminders for doctors. Neither of these ideas was complicated or original -- you just need to solve a problem that enough people have, and (critically) be able to market it.
Right, didn't intend to understate the achievement. Mostly emphasizing that the product idea does not have to be complicated or original. Success is overwhelmingly about it filling a need for the target market, execution, and professionalism.
Changing locations is not an option for me, because I take care of my elderly mother. However, I am actually planning on taking a job that's unrelated to tech; let's see how it goes.
Unfortunately, I can't find a problem to solve, and believe me, I tried! Everything I come up with has been solved already with a better set of features.
It's a bit of a cliché, but remains true -- the existence of competition just means someone else proved the market exists already. They've done good research for you. You only need a truly novel idea (with a market) if you want to be a unicorn. If you just want to be successful, then jump in. Find ways to differentiate, even if it's just on price.
There are problems to solve all over the place. But you will need to dedicate deep focused thought toward finding them.
I recommend using the concept of a “talent stack” to find areas you are uniquely suited for and uniquely interested in.
Make an ordered list of things you enjoy, things you are motivated toward, things you are talented at. Then brainstorm ways to combine as many of them as you can.
Your particular combination will be rare, this is where you are most likely to be able to find and solve problems.
Since you’re a programmer you are very well suited for that type of analysis.
Once you’ve identified those areas, dedicate deep focused thought toward identifying problems and solving them. Go for long walks or hikes or bike rides while thinking about it.
“What we are taught is that if you want to start a business, you need to come up with something new, something that hasn't been done before. But the reality is that the world will very easily accept three of the same thing, or five of the same thing. And usually it is an advantage to look at something that already exists and say, can another one of those exist? Or can I take what's there and tweak it a little bit? If you are a great cloner, you will be 90% ahead of the rest of humanity.”
Django rest framework is really great, there’s a bit of a learning curve learning about the viewsets and how permission classes work and things like that, but once you get over that hurdle its so easy to make REST APIs that just hook up so cleanly to models.
I implemented a few custom authentication classes for things like group permissions on read / write for shared projects internally and just hooking this all up means I can write huge new modules that “just” slot in, in just a few hours. IMO they have the abstraction layers just right, it makes me really productive.
I was actually thinking of trying React Native, but for some reason local people prefer Flutter for some reason, any noticable differences between the two? Or should I just go with RN & Expo?