Solo founder carved a $25k/mo niche out of a saturated market by undercutting the competition
IH+ Subscribers Only

Charlie Clark, founder of Liinks

Charlie Clark built Liinks in an established — and competitive — market. He didn't out-innovate the competition. He just focused on keeping costs low and providing a stellar experience.

And he managed to carve out a nice, not-so-little section of the market that brings in $25k MRR.

Here's Charlie on how he did it. 👇

Avoiding the hustle

I don't take big risks — I've only ever taken small, calculated risks.

An alternate multiverse version of Charlie went all in on Liinks early on, and is now the CEO of a billion-dollar business. But that Charlie likely gave up hobbies, weekends, sleep, and other things that are just too important to this version of Charlie.

I don't want to hustle and grind. I got into this because I wanted full ownership over what I'm working on — the type of ownership that only a solo founder can enjoy. And I wanted to make enough money to support myself.

Now that it's happened, I feel incredibly excited. And, as a new dad, I'm also really enjoying the flexibility that comes along with being self-employed.

Coming up with an established idea

I taught myself how to code by building fun little Flash apps when I was in school. After that, I found a job building marketing websites for brands — this is where I first learned HTML + JS + CSS, but the sites we built were mostly static interactive experiences (no backend). Later, when I entered the tech world, I learned about React and building products for users.

I always had side projects going, but being Canadian and living in the US, I couldn't legally make money off of them. Nonetheless, they were invaluable in forcing me to learn how to build and ship things from scratch.

When I got my green card in 2016, I started thinking about real business ideas. First, I sold posters depicting the colors of movies — The Colors of Motion. The total revenue for that project was in the upper five figures. Inspired by my experience with that, I decided to quit my job in 2019 to develop a print-on-demand marketplace called VSUAL, which did six figures in GMV, but with razor-thin margins.

During the early days of VSUAL, I was doing a lot of outreach to artists. I noticed that a bunch of them were using link-in-bio tools to promote their various online channels. This inspired me to take a stab at building a new tool in this space, and Liinks was born.

Going back to the 9-to-5

Shortly after launching Liinks, the pandemic hit. I started feeling pretty anxious about my financial situation.

Liinks was ramen profitable by that point, but I live in an expensive city, and never really wanted to live off ramen.

I decided to go back to work, but I continued working on VSUAL and Liinks on the side.

Liinks continued to grow, and in August 2024 I quit my job again and started focusing full time on it. The revenue was $25k MRR at that point, roughly 4.5 years after launch.

Experimenting with pricing

Liinks is a "link-in-bio" tool — AKA a simple mobile-optimized website builder.

When I started working on Liinks I already knew the product area was validated, as I saw folks using similar tools. I made the bet that I could provide enough of a compelling alternative to the existing tools to carve out a small amount of a very large addressable market.

I use a SaaS model — I charge $4/mo for the Premium plan, and $10/mo for the Pro plan. The Pro plan includes some additional advanced features, as well as the ability to manage up to five profiles. Additional profiles can be added for $10/mo per five profiles.

I initially charged $3/mo for the Premium tier. I intentionally started with a low price point to undercut the main competition. Because Liinks is such a lean operation, I can afford to have a relatively low price and still generate good profits.

I experimented with different prices ($2.99, $3.99, $5) before settling on $4/mo. I preferred the simplicity of a round number, and when I tried pushing higher than $4, I noticed a significant decrease in conversions. I think it's a fair price since my product offers fewer features than the competition.

Giving "freemium" the boot

Liinks was initially launched as a free tool. I launched the Premium plan a few months later, then I eventually dropped the free tier altogether.

The main reason for dropping the free tier was not financial. As Liinks grew, and as its domain reputation increased, I started noticing more and more "bad" usage.

A lot of it was pretty innocuous: attempts to hack SEO with backlinks, spammy content, and the like. But there were also a number of phishing scam attempts.

I implemented logic to automatically detect these nefarious use cases and block them, but the "bad guys" would always find workarounds, and there would also be false positives, which meant I needed to manually review a large number of profiles.

This quickly became overwhelming, as LLMs weren't really a thing yet. Removing the free tier was an easy way to create a higher barrier to entry and drastically reduce the number of profiles that needed to be manually reviewed.

A nice side effect of removing the free tier is that it simplified the UI. Instead of gating premium features behind a paywall, I could let users experiment with the full suite of functionality and simply gate the publishing of their profiles.

Financially, the outcome was interesting: There was a decrease in total new active users but an increase in new paid users. It's hard to know the long-term network effects of this decision, though — it's possible that, in the long term, the network effects of free users could have led to more paid users.

Now that LLMs make it relatively easy, I hope to implement more robust automatic detection for nefarious usage using AI. And maybe I'll test a free trial again after I do that.

Not a techy startup

Liinks isn't some high-flying AI startup. We're kinda basic tech-wise, but we still managed to carve out a space for ourselves in a super competitive space.

Here's the stack:

  • Digital Ocean VPS + Managed MongoDB

  • AWS S3 + Cloudfront

  • NodeJS (Express)

  • React

Settling on a stack that is not the most bleeding-edge allows you to avoid the seemingly endless search for the "perfect" stack. This is obviously a double-edged sword, as new tech often comes with improvements that can make your life easier. But I think it's important to commit to a stack at some point so that you can master it. Then, it should be a conscious decision when you decide to learn a new stack.

Despite being relatively low-tech, I've managed to differentiate my product through:

  • Clean and intuitive UI

  • Powerful customization options

  • Some powerful niche functionality (pages, folders, Instagram scraper)

  • Affordable price point

Growth

Cold outreach

In the early days, when Liinks was still using a Freemium model, I would actually target specific folks on Instagram who didn't yet have link-in-bio pages and build pages for them. I'd then do cold outreach trying to convince them to give Liinks a try.

Product-led growth

Seeing the liinks.co URL in people's social bios, and seeing the "Made with Liinks" badge at the bottom of Liinks profiles soon created a good amount of organic traffic.

Building based on data

When I started getting users, I spent a lot of time trying to understand how they were using the product. I built out a custom admin dashboard that I could use to see what kind of pages users were building. I also implemented tools like Amplitude and FullStory.

By getting a feel for how folks were using Liinks, I was able to ship features that I thought would be useful based on real user insights.

Building based on user requests

I also got a lot of great ideas from listening to user feedback. One of the biggest ways I've grown Liinks is by allowing users to manage multiple profiles. I shipped this functionality after a customer asked for it.

Focusing on UX

I spent a lot of time trying to make the product feel simple and easy to use. I'm quite proud of how few customer support requests I receive. I get fewer than five requests per week on average, which I believe is a testament to this.

Ads

In the early days of Liinks, I found Instagram ads to be very effective at getting new customers. However after iOS14 was released, it stopped being cost effective. Recently, I've found that Google Ads are the most successful at getting cost-effective conversions.

I'm averaging about $1/click and $30/conversion. Stripe estimates my LTV at around $100, so this isn't too bad, but I'm sure it could be better!

I am by no means an expert at ads. My advice for ads would be to experiment until you've got something that works, and then stop touching it!

Ask "then what?"

I've recently been thinking a lot about the short story commonly known as "The Tourist and the Fisherman". It's a quick read, but a life-changing one.

The moral is basically asking yourself, "Then what?" every time you make a decision, whether in business or life. It's so easy to get sucked into this grind for more — more growth, more revenue, more everything. But what are you really hustling for?

For me, the lightbulb really went off when I decided not to chase VC funding for Liinks. It just clicked that the whole "go big or go home" route wasn't really what I wanted.

Ship early

I have three pieces of advice for indie hackers.

First, I can't overstate the importance of shipping early. I toiled away on my first big personal project for 6 months before getting a single user in front of it. But I shipped Liinks two weeks after starting to build it!

The product looks very different today than when it first launched, but that's okay — getting feedback from real users has been invaluable in shaping the product.

Second, you have to go with the flow... but know when to focus.

Third, remember that luck plays a much bigger part in success than most successful founders care to admit.

You can follow me on X or my personal site. And check out Liinks.

Indie Hackers Newsletter: Subscribe to get the latest stories, trends, and insights for indie hackers in your inbox 3x/week.

About the Author

Photo of James Fleischmann James Fleischmann

James has been writing for Indie Hackers for the better part of a decade. In that time, he has interviewed hundreds of startup founders about their wins, losses, and lessons. He also writes two newsletters, SaaS Watch (micro-SaaS acquisition opportunities) and Ancient Beat (archaeo/anthro news). And he's a non-technical founder who buys/builds and grows micro-SaaS products.

Support This Post

52

Leave a Comment

  1. 3

    Great post!

    It's crazy to see how indie hackers compete with such simple (and I mean it as a compliment) products.

    I'm curious, Charlie - did you choose any specific niche audience when you started?

    1. 2

      Hi Junaid! As I always tell myself, keep it simple stupid!

      The very first audience I targeted was artists & designers, due to the fact that I discovered link-in-bio services when doing outreach for my other project (which was an art marketplace).

  2. 3

    Love the comparison to an alternative universe version of yourself with a different attitude to growth :)

    1. 1

      Hehe - I recently watched the TV Show "Dark Matter", so this was on my mind!

  3. 2

    Thanks for sharing your story! One of the biggest values I got from it is how long your product was live before it made serious money. I recently launched Hedy AI (www hedy (dot) bot), and my wife is expecting a life changing return immediately. I need case studies to explain to her that it takes time!

    1. 1

      Sometimes I can't believe I've been hacking on this project for over 4 years! Hedy AI looks cool - good luck!

  4. 2

    Inspiring! I'm currently building a SaaS in a space with big corporate solutions. This post gives me a lot of hope. Good stuff!

    Edit: Would love some tips on growth and marketing when your competitors are already ranking on google etc.

    1. 1

      If you're early in your journey, I'd suggest finding people who could benefit from using your product, and trying to win them over using a white glove approach. You could offer to help them get set up, or even proactively set something up for them and simply ask them to check it out. This doesn't scale but you'll learn about your user's needs which you can apply to refine your product!

  5. 1

    Nice and clean!

  6. 1

    Wow, the design of the site looks incredible!

  7. 1

    How did you distribute it beyond cold outreach on Instagram and plg?

  8. 1

    The preview of how you can design it looks really cool ! 👏👏👏👏

    Where would you say you found the first 100 - 1000 users? you have any related tips ?

  9. 1

    Your personal site at the bottom of your post link is broken @James!

    Great showcase :)

    This is really a solopreneurial goal for me to have such a clever saas. Gj!

  10. 1

    It’s interesting to see how the evolution of Liinks wasn't driven by a desire for massive success, but rather by practicality and steady growth. From experimenting with pricing to addressing issues like nefarious use cases, it demonstrates a thoughtful, adaptive approach to building a sustainable business

  11. 1

    Love the inclusion of luck being part of the key takeaways, it's a common theme that many major founders have touched on

    1. 1

      Absolutely! Being at the right place at the right time is key!

  12. 1

    Nice story and epic results!!!

  13. 1

    Thanks for sharing your story! You've got a great eye for design.

  14. 1

    When you finally find your niche, what type of marketing tactics did you use to finally get growth?

    1. 1

      Besides the organic "powered by" marketing, I relied mostly on Instagram and Google ads.

  15. 1

    Nice post. It's always interesting to hear success stories from companies in crowded markets.

    Was it a challenge to convince users to pay for your solution over a more established competitor?

    1. 1

      Not especially. I think most users are willing to pay for a less established product if it does what they want and is affordable.

  16. 0

    This is nice man! Good luck ahead! The place I'm part of, offers grants upto 5Lakhs, do check it out if that'd help.

    The firm name is TechupLabs and you can find the grant application in the footer.

Create a free account
to read this article.

Already have an account? Sign in.