That being said, I think mobile apps come with different challenges regarding distribution, conversion, etc. Also, the learning curve is definitely steeper in my opinion. Learn the web techs (JS, HTML, CSS) and you will be able to build nearly anything you want, front-end (websites, web apps, hybrid mobile apps) and back-end.
I have web apps for iPads that haven't needed to be updated in ~7 years. Conversely, the maintenance and updates and complexity-overhead required for mobile apps is overwhelming for a solopreneur.
If you're on your own, optimize for maintainability, understanding, and tools within your control, not features or environments that someone else can (and will) change or deprecate tomorrow.
Source: solopreneur with both web apps and mobile apps.
If you know Python, use Django for full stack and FastAPI for APIs.
Although Go is great, I wouldn't add another language into the mix. Just not worth the overhead given that you can do so much with Python.
Also, try using boring old server side rendering as much as is possible.
Not to rag on Svelte specifically, but you'd be surprised at how far you can take a web app before needing to adopt a frontend framework!
I think the debate of which language/framework is "best" is silly, because 1) they all start to look the same after awhile, they implement concepts from each other constantly, and whichever you choose can probably already do what you need at a scale that you don't have yet anyways, and 2) the "right" language is more a function of "how many people do you have working on it?", not "what do you need it to do?".
Since you're on your own, odds are that whichever you choose, it can already do what you need. Choose something boring and solid. Choose the one you're more comfortable with. At least get the ball rolling and a foundation in place. If two years go by and you discover you need to alter your path, that wasn't a waste of time, that's you being two years down the road and have momentum in your favor and a launch pad to make the changes you need. Don't get bogged down too much in the nebulous "woulda/coulda/shoulda in two year's time". Build for the needs you have right in front of you; it's too easy to get paralyzed by the endless things that "could" be built at a later date. Solve the known problems now, let the unknown ones come in their due time.
How does that mean that a solopreneur can't have more chances for profit in mobile apps?
> complexity-overhead required for mobile apps is overwhelming
This also means less competition.
I'm a "solopreneur" as you put it. I have been doing this solo for about eight years now. My service costs $697 per-month to run and my annual reoccurring revenue for this year was close to a million dollars (USD), which was about 10% less than last year (industry layoffs affected my product).
With that being said, I highly suggest building a web service for businesses (b2b sales). Target a service that would sell at least $199 per-month minimum, anything less and it's a massive waste of time to do demos.
Don't build a service where your primary user is individuals in a company. Instead, build a service that will be used by the company itself.. perhaps I am not wording this well, so I'll use an example.
A) A productivity tool used by employees to do X better.
B) An API used by a company to do X.
Build B, not A. A looks like a b2b product, but it's more like b2c.
The reasons why I want to move to native dev eventually:
1. It seems more fun, better access to hardware, you can build more experimental apps like a network monitor that plays/generates music based on network stats, you could tell if something is wrong from another room.
2. Speaking of monitoring, you can build apps that are local-only and you don't need to worry about your servers being up on your vacation etc.
3. And with local only, you don't have to worry too much about privacy laws.
But the big cons of native apps for me are:
1. Monopoly of app stores and difficulty of distributing applications outside of them. As a consumer, I appreciate quality controls that app stores provide but as a dev, I am not a big fan of them.
2. Lack of any open-source IDEs for app dev in Apple's ecosystem. I would focus mostly on Apple's ecosystem but I don't like the idea of being tied to XCode. I really like that in web dev, I can spin up $5 VPS and start coding with vim.
3. And even more specific to my situation, I am a web dev at work, so there is extra cognitive load when learning native dev.
The pros and cons of web dev are essentially reverse of above. You can start web dev really easily, there is no one gatekeeper, there seems to be more jobs for web dev. But it is hard to build interesting apps on the web. Everything on the web seems more salesy, less innovative.
The reason why I am sticking with web dev for now is due to cognitive load. Though sometimes working on something different from your day job actually feels refreshing.
I learned this after our company wasted 144+ man months creating a web app no one wanted to purchase, while this nearly computer illiterate person built a profitable SaaS in only 3 months with no coding skills. Eventually he scaled it to $50,000 MRR and beyond. He explained how he did it, and his secret was marketing. When I say "marketing," in this context I mean a special type of marketing that focuses on the user.
I can't find the original presentation slides, but this is the business Dane described building: https://www.paperlesspipeline.com
No coding skills. Just marketing.
- You will almost certainly need sales/marketing to sell your product/service.
- Marketing will tell you if an idea is worth building, even before you start development.
- (Job search/hiring is just another form of marketing.) You can use marketing to hire the best developers to build both a web app and mobile app.
- Marketing (market research) will tell you which to build (app vs. web app)
Even marketing isn't a silver bullet, but I think it maximizes your chances of success. Dane Maxwell developed the most risk-free way to start a business (based on marketing). He currently teaches his method here: https://startfromzero.com
https://30x500.com is a very similar course, geared more towards techies.
And this is like a "greatest hits" collection of the best marketing lessons compressed into a single book: https://expertsecrets.com
What if you don't establish in the timeframe?
I rarely see a real entrepreneur (not snake oil sales-marketing gurus who prey on our lack of knowledge) achieving anything meaningful in less than few years from scratch.
I think it probably makes sense to find an interesting problem and validate it and then decide on how to distribute your software that solves that problem, while also considering what stack you're most productive in.
Bear in mind I've never done this myself, so you're probably better off listening to someone who knows what they're talking about (if you can find such a person).
That being said, you better start learning to pull up quickly landing pages and gauge/investigate interest of the audience or potential clients and improve your marketing and selling skills asap.
The idea alone is never enough most of times even though your hands are itching to start on building an idea or product.
Because if you make business, not app-creation studio, you will soon see, what really need your clients, probably create one SaaS, one mobile app, and after that will just forget this side of activity, and focus on leadgen and retention.
Today lots of major successful products have an ecosystem for extensions/add-ons.
You can find a missing feature in such a product and implement a paid extension for it.
Pros:
- easier to build
- can be promoted via platform stores/markets/directories
Cons:
- limited
- 3rd-party platform risk
It's best to use a widget to validate the idea, and then rewrite it either as a mobile or web app (when it makes sense, or possible at all).