tl;dr: I'm building an MVP to test a potential business idea and I'm not sure if I should got for a mobile app (flutter, multiplatform) or a web one (classic create-react-app typescript project).<p>Both would share the same backend, an SpringBoot-based REST API.<p>Are there any advantages of choosing one over the other in terms of customer acquisition and retention? What about project complexity (I'm a solo developer without much frontend experience but I've built a couple simple flutter apps)?<p>Thank you!
Who are your users? Are they on mobile? Are they using a tablet or a laptop?<p>Are they private or business consumers?<p>There is not enough information to answer this question. Build for where your users are and build where you can get it done the fastest.<p>Have you talked to your target users? If not, do so before you build anything. Don't pitch but talk about the problem space your idea is in. This isn't guarantee for success but you will get a better understanding.<p>Regarding project complexity: Make it as little complex as possible but as much as needed. An MVP should solve exactly one problem. It doesn't need to be fancy, but it should look okay. But again, lot of this depends on the field you are in, your target customers/audience and so on.
Simple Answer: Web App!<p>Complex Answer: Depends on your product or service you are offering, is it only used on the mobile phone? Does it require native functions of the mobile phone? Will customer expect this product or service to be on the mobile phone? If the answers to those questions are yes, I would do a mobile app.<p>Otherwise I would stick with a web app. This spares you the hussle to build for two ecosystems.<p>I have been using React with Nextjs, Prisma, Nextauth and Tailwind. The development experience is amazing.
Frontend as well as the API is in one repository, that helps to iterate fast and deploy as you go.
Web app!<p>I have 3 hypothesis for this<p>1. When the business/idea is new, a lot of time goes into brainstorming and connecting dots. Hence creating a web app becomes easier and iterations becomes smoother.<p>2. If the idea is new, it takes time for people to get convinced and download your mobile app. With web app first approach, you can start acquiring users and then build an app later.<p>3. The resources requires to build an app, get it approved and launch it on app store are pretty expensive effort-wise as compared to web app.
If you are thinking in terms of tools you are thinking in terms of building, not product. Stop dicking with tools and just build a minimal product. Think only about the minimal product goals. I find many developers go to tools first because it’s all they know.
Why not React + React Native and then you can share large parts of the codebase? That’s what I usually end up doing. I build the web app first and use a lot of the code to build a React Native app
If you’re building an app at all you are most likely already building way too much. Try validating your business without building an app first, then what to build will be more obvious.