Here are some of the mistakes I've made:
1. Building a product for a generic audience.
It's far easier to start a successful business by targeting a very specific niche first.
2. Giving up after building the product.
Getting to v1 of your product is just the start. Unfortunately, most of us give up when we don't automatically start seeing sales or traffic. You can create a kick-ass product, but if no one knows about, you're not going anywhere.
Plan for how you're going to acquire customers before you launch, not after.
3. Feature creeping.
It's easy to get stuck making more and more features and trying to perfect things. I'd consider myself a pixel perfectionist and that cost me several years of my life stuck in the feature creep loop.
Just create a barebones product, launch, and get feedback. Usually this barely minimum viable product will get you so deep insight that you end up making much larger changes or pivoting the entire product.
If you don't launch that bare bones product to test the market, you'll still get the same insight -- except you'll have spent far too much time and money by then.
4. Wasting time constantly watching the competition.
Benchmark the competition once when you're starting to build your product, and then focus on launching it. Don't feel threatened if your competition launches something new -- the market is always large enough for several players. It's never a winner takes all.
5. Prioritizing features and your time.
This has been my biggest mistake and it's a life long battle to self-realize when you slip into that habit.
Mistakes aside, here is a simple thing that changed my life around:
First thing in the morning, tackle your biggest, most daunting task that you're likely to procrastinate on.