e.g., there are lots of small businesses that need to write up bids for work and email the resulting quote as a pdf. That's it!
A lot of the competition is stuff like Salesforce or JobBoss or other ERP tools that are gross overkill for the 20-person welding shop, not to mention way outside their budget.
Or, as I found out from browsing commercial lawn care forums, people want scheduling apps that can take before and after pictures of lawns to email to the homeowner. There's another fairly small project that's useful and saleable.
You'll find that if you go down this path, the biggest challenge is going to be marketing and customer acquisition, not building the product. I'm always tempted to build small apps like this, but I keep going back to embedded work because it's more fun!
What's embedded work, and why is it so fun?
It's fun because I like controlling the real world through software, especially making things move. I have my fingers in three motion control projects of various levels of complexity as we speak.
This won't necessarily work in a domain like tax software where the feature requirements are well understood, but does work in areas that have a step learning curve because it helps people adopt them.
You can afford to work with a very, very niche target market at first and expand and conquer from there.
Heh heh! Don't worry, you just have to find one more person like that, and then those two find two others & so on and so forth. 2^64 is the planet. I'm in the same boat. I have a tiny handful of middle school kids religiously using my app, but their parents are like, why isn't it like khan academy, or beast academy, or ixl, or aops, or whatnot. And I'm like, yeah those things are great, but how come your kids are hanging out on my site and not over there ? Sometimes you just have to stick to your guns.
The key is that feature development productivity is inverse to company size and revenue. The bigger they are, the more customers they have, and the more money they make, the more time and effort they have to spend just keeping everyone aware of changes, let alone actually deciding how to move forward and executing. This is the complete opposite of almost every other industry where economies of scale dominate so unless your niche has extreme network effects like Google's Search business or Facebook's social network, there will always be room for more competition.
One way to compete with incumbents, in the beginning, is by niching down, and offering things they can't.
Using your tax software example, it'd make sense to start with a single persona first (e.g. Tax Software for US-based freelancers). By building a tool for the specific audience, you can offer an experience a generic tool can't (i.e. a sole proprietor doesn't care much about corporate income taxes, excise taxes, etc.). You will also have less competition if you decide to go down the paid acquisition route.
FWIW, I have noticed that some subset of my customers only use a particular set of features, and don't care much about the rest.
Another advantage of focusing on a niche is that people with similar characteristics tend to congregate in a handful of communities, which makes it relatively easier to reach them. At some point, you can hopefully take advantage of word of mouth, and that is an incredibly powerful way of acquiring new customers.
Also, when you're the person who built the service, you can offer support to customers in a way your established competitors simply can't. Caring about things is a competitive advantage.
Make no mistake about it: it's going to be incredibly hard. However, by going after the existing market, you minimize chances of market mistake, which is costlier than a product mistake (i.e. you increase your odds of survival).
P.S. Having an existing audience makes things easier. People buy from people they know, trust, and like, even if your offering isn't the best out there.
At a previous startup I worked for we wrote tax software, which was a well established and entrenched market. Our big thing was really cloud-based, but acquiring customers was often really hard because we were always missing that one feature that people really cared about (and it's never the same feature).