I am also in a competitive space. Couple of my competitor man-child founders blocked me on social media for simply being on their feed. I took it as a blessing. I tuned out from their noise quickly and focus on customers rather than social media attention disorder.
Do yourself a solid. Don't watch competitors. Watch customers and the market.
One book I read actually put it a different way: Lots of competition is actually a good thing.
If you come to a market that's "wide open" with nobody else there, there are two possibilities:
1. You're the first person to ever think of that idea
2. Lots of other people have had the same idea, but failed to make it work.
I mean, #1 is possible -- somebody has got to be first -- but #2 is much more likely.
By contrast, if you're in a space with lots of competitors, that demonstrates that the business idea is sustainable: if the market can support N sustainable companies, is can probably sustain N+1, particularly if you bring something new to the table.
I almost skipped reading the article, thinking it was just another bragging/survivorship bias story. It wasn't. Thanks for sharing.
I want to add another anecdote: I built an app for creating certificates[1]. It was originally a case study for a book I'm writing, so I didn't think much of "target users". But then I decided to make it a real/standalone product. I was struggling to find real users.
Then, just by sheer coincidence, a friend shared his struggle with existing ticket sales platforms. I thought, "Hey, with what I've built so far, it's just like adding another 10% of work" (It wasn't). So I "expanded" the app to become a white-label ticket sales platform[2]. People started using it, and they also use the certificate generation feature ("Your app can create certs for attending events? Sweet!").
I don't know how to distill this into advice, but you get the idea. It's like a South Park meme: Step #1: Listen to users, Step #2: ???, Step #3: Profit!
Some associations require their members to attend e.g workshops to collect credits. There's a minimum annual credits you need to collect otherwise you lose membership.
> Competitors don't really matter [...] Sure, there are more "table-stakes" features that customers need before they'll even consider using you, but the real competitor is a lack of awareness of your product, more than anything.
I like this quote a lot. I think it addresses a common execution paralysis where someone identifies a solution to a rich problem space but decides against building it due to there being an obvious competitor.
Very well rounded and grounded article. Like it very much!
Indeed as someone else in the comments said, the personal touch is the best asset you have as indie. So talk with your customers.
I run a Android app, next to my day job, and I pride myself on always putting the customer first, and actually fixing their pain points or implementing their suggestions. Empathy is so important, and something a big company will struggle with.
TBH, I find it extremely hard to acquire customers. Even with a rock solid product that is NOT, in any way, below the competition. I get the visits but the signups are non existent. Probably because my audience is geared towards programmers and tech oriented businesses. I can do almost any project but marketing kills me.
I don't want to be harsh, but comparing an IP address to registered allocations isn't a sophisticated product. Have you considered that people just don't want what you're selling?
Please don't get me wrong: I also work in some spaces that are not highly valued by developers, so I empathize heavily. It's a pain in the butt trying to sell to programmers when this audience is literally one of the most difficult and obnoxiously inconsistently price sensitive. (Will spend thousands on hardware, scoffs at $1 apps.)
I am not comparing an IP address with registered allocations. I do very minimal IP address work. You'd have to read the very first paragraph to see that `we don't use IP checks or blacklists`. Doing IP checks will not work against residential proxies. It actually is a sophisticated product.
Have you considered your price point? I work for bigger companies, we would never go with someone whose base plan is so cheap. This is because it takes a lot of effort to make a purchase, and going to accounting for $10/month for something as important as regulatory compliance or antifraud just doesn’t vibe.
Smaller vendors in your price target might have the budget but not the mindshare to implement.
Can you share your experience regarding marketing? Any specific courses you'd recommend, channels you tried and what worked or didn't? I have posted on Twitter, mentioned my product in Reddit comments and also "showcased" it in some Discord servers.
All that amounted to around 30 signups in 1 week. But this is not sustainable, and I would like to try some other avenues as well.
30 signups in one week is sustainable I don't know why you would say it is not. Customers will bring customers. I would love to get even 10 a week. I tried them all other than blogging which takes a lot of time and cold emailing. I would say Reddit commenting brings the most.
Not to be a buzzkill, but GP is sharing that they find marketing extremely difficult and it's not been working yet for them.
This would make them the last person to ask for recommendations (no offense intended).
It would seem preferable to seek advice/recommendations from people with a similar goal/situation to yours who are currently being successful at marketing their startup/product.
Maybe because it doesn't work that well, I got "Proxy/VPN detected" on your page when I clicked "Test your connection" and I'm not behind proxy nor I use VPN.
Successful execution is 33.333% of the journey. Solid marketing is the differentiator.
Take for example, we frequently see Cursor, Aider, Windsurf, copilot, but rarely are there mentions of cline, roo and I think like only once or twice in very early days we saw mentions or Supermaven.
While Cursor runs babble from supermaven creator, many cursor users don’t know what supermaven is though they may know Aider or even cline.
Now draw your conclusion.
P.S. while I have no connection with supermaven, I do use it day to day personally as cursor/windsurf feels overhyped and crucial target to be acquired and enshittified anytime now(windsurf already got digested by oAI).
I get that, not aiming for millions or billions (would be nice ofc). I'm just saying that is extremely hard to bring visits without dumping loads of cash and is 2x harder to make them even signup. I'm good with the execution but this marketing part drains me. A partnership with someone that knows how to bring customers would be ideal I reckon.
This is repeated constantly, but I fear that it is internalized as “write shitty code and throw money at it later.” If you have taken the time to learn your language well, you can avoid a lot of really bad decisions that don’t cost you additional time.
Similarly, on the infra side of things (where this advice is usually doled out), maybe take the time to have a modicum of understanding about the tools you’re building on. If you’re using a DBaaS, your vendor almost certainly has monitoring built-in, often for free, or a nominal cost. USE IT, and learn what it is you’re looking at. “The DB is slow” could be anything from excessive row locks due to improperly-held transactions to actually hitting an underlying resource limit – and for the latter, 9/10 it’s a symptom of something that’s misconfigured, or not understanding your RDBMS’ operation.
For example, do you have a write-heavy table with a UUIDv4 PK, lots of columns that are heavily indexed, and some medium-large JSON blobs in it? Congratulations, you’ve created Postgres’ (and MySQL, but for different reasons) worst nightmare. Every write is amplified by the indexes, and even if you’re doing an UPDATE and are only hitting one of the indexed columns, all of them will be rewritten. The UUIDv4 PK means your WAL traffic is going to skyrocket from all the full page writes, and if your JSON blobs are big enough to be unwieldy, but not big enough to have be TOASTed, that’s another huge amplification to writes. All of this can easily result in hitting IOPS limits, network bandwidth limits, or CPU saturation from additional queries piling up while this one is dealt with, and all of it could be easily avoided by having a basic understanding of your tooling.
This is an awesome comment. As someone who doesn't spend much time in the DB tier, I especially appreciate the real-world details in your final paragraph. Do you have a blog where you write about this stuff, and/or have any particular recommendations for learning or reference materials? I'm sure there's no substitute for experience when it comes to developing an intuition for good db design, but I'd be grateful for your expert advice if you have more to share. TIA
I don’t generally blog about it, but I may at some point.
For specific discussions on what I wrote about, I recommend (other than reading Postgres’ docs, of course) this [0] and this [1], and anything else on those sites.
If you like technical podcasts, postgres.fm [2] is pretty good.
> If you have taken the time to learn your language well, you can avoid a lot of really bad decisions that don’t cost you additional time.
From my own experience, I can say that this mindset can easily become an eternal excuse to procrastinate building and shipping. “First, I must perfect my knowledge and tools—only then will I build my perfect product.” But that’s just another form of perfectionism, and often, it’s equivalent to never shipping anything at all.
Yes, it’s easy to accidentally or purposefully do. An example of what I’m talking about is “I’m going to cause an N+1, row lock contention, and slow writes by looping over a list of IDs while holding a transaction open, retrieving information for each, and then doing a single write.” This is something that is shockingly easy to do with an ORM if you don’t know any better, but it’s also one of the easiest problems to solve once you do.
Or, explicitly germane to a language vs. an ORM, something like concatenating strings instead of building them in whatever your language’s method of doing so is. Does it have that big of a performance hit in a vacuum? No, but it also takes no more effort to do it correctly, and small gains add up, so why not do it right from the start?
> you'll have customers that demand you rewrite your app just because they gave you $9
I've also seen this first hand. Customer emails me 3 times within 3 days and one of those emails included him stating that "time is precious". He subscribed on the $7 / month tier... and then cancelled the next day anyway because he didnt even read what the product did... sigh
This is resonating very much with me, but perhaps for a different reason. I'm launching a product within a business that is already successful. I get to give demos to potential customers, and I've been making a point of saying, "And this aspect of the product is unlimited" about many things in the product. On the one hand, related to the above, it's potentially possible that a whale user could cost us, but it's frankly unlikely. But it occurs to me that if I put a limit on certain aspects of the offering, it will likely make it seem worth more -- it's a scarce resource if we treat it as such.
I'm sure you've already thought about this but bear in mind that as a buyer, I don't want to hear "unlimited" for things that have material scaling costs for my service providers, it just sounds unsustainable and likely to change later or be the cause of an issue.
On the other hand being free from arbitrary limits is great.
Unlimited usage like that means someone else has to pay for your usage - when the provider's pricing changes or their growth declines your usage may no longer be subsidized by someone else's. You risk becoming dependent on them without knowing the true cost of your usage, which also might not be sustainable for you.
For additional context, this recommendation also comes from having customers explicitly tell me they can't tell their bosses that 1 status page is the same price as 200, when their existing enterprise contract for a similar service is 6 figures.
It was too cheap relative to what they expected to pay.
This is so spot on.
I am also in a competitive space. Couple of my competitor man-child founders blocked me on social media for simply being on their feed. I took it as a blessing. I tuned out from their noise quickly and focus on customers rather than social media attention disorder.
Do yourself a solid. Don't watch competitors. Watch customers and the market.
If you come to a market that's "wide open" with nobody else there, there are two possibilities:
1. You're the first person to ever think of that idea
2. Lots of other people have had the same idea, but failed to make it work.
I mean, #1 is possible -- somebody has got to be first -- but #2 is much more likely.
By contrast, if you're in a space with lots of competitors, that demonstrates that the business idea is sustainable: if the market can support N sustainable companies, is can probably sustain N+1, particularly if you bring something new to the table.
I want to add another anecdote: I built an app for creating certificates[1]. It was originally a case study for a book I'm writing, so I didn't think much of "target users". But then I decided to make it a real/standalone product. I was struggling to find real users.
Then, just by sheer coincidence, a friend shared his struggle with existing ticket sales platforms. I thought, "Hey, with what I've built so far, it's just like adding another 10% of work" (It wasn't). So I "expanded" the app to become a white-label ticket sales platform[2]. People started using it, and they also use the certificate generation feature ("Your app can create certs for attending events? Sweet!").
I don't know how to distill this into advice, but you get the idea. It's like a South Park meme: Step #1: Listen to users, Step #2: ???, Step #3: Profit!
[1] https://news.ycombinator.com/item?id=43483919
[2] https://pentas.id/
I like this quote a lot. I think it addresses a common execution paralysis where someone identifies a solution to a rich problem space but decides against building it due to there being an obvious competitor.
Indeed as someone else in the comments said, the personal touch is the best asset you have as indie. So talk with your customers.
I run a Android app, next to my day job, and I pride myself on always putting the customer first, and actually fixing their pain points or implementing their suggestions. Empathy is so important, and something a big company will struggle with.
I'll checkout the recommended books!
Please don't get me wrong: I also work in some spaces that are not highly valued by developers, so I empathize heavily. It's a pain in the butt trying to sell to programmers when this audience is literally one of the most difficult and obnoxiously inconsistently price sensitive. (Will spend thousands on hardware, scoffs at $1 apps.)
Smaller vendors in your price target might have the budget but not the mindshare to implement.
I’d be curious if you 100x your pricing.
This would make them the last person to ask for recommendations (no offense intended).
It would seem preferable to seek advice/recommendations from people with a similar goal/situation to yours who are currently being successful at marketing their startup/product.
Take for example, we frequently see Cursor, Aider, Windsurf, copilot, but rarely are there mentions of cline, roo and I think like only once or twice in very early days we saw mentions or Supermaven.
While Cursor runs babble from supermaven creator, many cursor users don’t know what supermaven is though they may know Aider or even cline.
Now draw your conclusion.
P.S. while I have no connection with supermaven, I do use it day to day personally as cursor/windsurf feels overhyped and crucial target to be acquired and enshittified anytime now(windsurf already got digested by oAI).
Actually, except for Windsurf, I only learned about the others from your comment.
This is repeated constantly, but I fear that it is internalized as “write shitty code and throw money at it later.” If you have taken the time to learn your language well, you can avoid a lot of really bad decisions that don’t cost you additional time.
Similarly, on the infra side of things (where this advice is usually doled out), maybe take the time to have a modicum of understanding about the tools you’re building on. If you’re using a DBaaS, your vendor almost certainly has monitoring built-in, often for free, or a nominal cost. USE IT, and learn what it is you’re looking at. “The DB is slow” could be anything from excessive row locks due to improperly-held transactions to actually hitting an underlying resource limit – and for the latter, 9/10 it’s a symptom of something that’s misconfigured, or not understanding your RDBMS’ operation.
For example, do you have a write-heavy table with a UUIDv4 PK, lots of columns that are heavily indexed, and some medium-large JSON blobs in it? Congratulations, you’ve created Postgres’ (and MySQL, but for different reasons) worst nightmare. Every write is amplified by the indexes, and even if you’re doing an UPDATE and are only hitting one of the indexed columns, all of them will be rewritten. The UUIDv4 PK means your WAL traffic is going to skyrocket from all the full page writes, and if your JSON blobs are big enough to be unwieldy, but not big enough to have be TOASTed, that’s another huge amplification to writes. All of this can easily result in hitting IOPS limits, network bandwidth limits, or CPU saturation from additional queries piling up while this one is dealt with, and all of it could be easily avoided by having a basic understanding of your tooling.
For specific discussions on what I wrote about, I recommend (other than reading Postgres’ docs, of course) this [0] and this [1], and anything else on those sites.
If you like technical podcasts, postgres.fm [2] is pretty good.
[0]: https://www.cybertec-postgresql.com/en/hot-updates-in-postgr...
[1]: https://www.enterprisedb.com/blog/impact-full-page-writes?la...
[2]: https://postgres.fm/
From my own experience, I can say that this mindset can easily become an eternal excuse to procrastinate building and shipping. “First, I must perfect my knowledge and tools—only then will I build my perfect product.” But that’s just another form of perfectionism, and often, it’s equivalent to never shipping anything at all.
Or, explicitly germane to a language vs. an ORM, something like concatenating strings instead of building them in whatever your language’s method of doing so is. Does it have that big of a performance hit in a vacuum? No, but it also takes no more effort to do it correctly, and small gains add up, so why not do it right from the start?
I've also seen this first hand. Customer emails me 3 times within 3 days and one of those emails included him stating that "time is precious". He subscribed on the $7 / month tier... and then cancelled the next day anyway because he didnt even read what the product did... sigh
This is resonating very much with me, but perhaps for a different reason. I'm launching a product within a business that is already successful. I get to give demos to potential customers, and I've been making a point of saying, "And this aspect of the product is unlimited" about many things in the product. On the one hand, related to the above, it's potentially possible that a whale user could cost us, but it's frankly unlikely. But it occurs to me that if I put a limit on certain aspects of the offering, it will likely make it seem worth more -- it's a scarce resource if we treat it as such.
On the other hand being free from arbitrary limits is great.
It was too cheap relative to what they expected to pay.