I’m going through a similar situation at the moment. I’d already evaluated a few of the options discussed in this thread and came to a conclusion - it depends
You haven’t described the problem space that your product is trying to solve. For my project, it involved a lot of use of the Twilio API. I started with LiveView and used React for the Twilio bits of the page. When I pushed LiveView hooks to their limit, I ported the whole page over to a React component rendered using Remount in a standard heex template. The React HOC that manages everything is getting pretty gnarly, so further down the line I might move most of that out to a SvelteKit app.
I’d say start with LiveView, as your pace of productivity will be much faster than all the extra work required by you trying to keep an API and SPA always working together, especially if you’re duplicating business logic on both sides. If/when you bring someone else on board, then you re-evaluate, or they might be fine with learning Phoenix.
Everyone in this thread raises some good points, but I think @thojanssens1 and @AstonJ are on the money.
IMO, if your idea is design heavy or requires a lot of client side interaction that LV isn’t suited for, then build it using whatever JS framework you like. If not, start with LiveView and push it as far as you can.