From Agency to SaaS Startup: 5 Lessons for Making the Transition

Photo Gustavo Bragança

Recurring revenue.

The holy grail of business.

Service agencies usually generate recurring revenue by selling monthly retainers. But not all clients will want to pay a monthly fee for your services.

At our agency, most of our work is project-based. Once the project is over, it’s hard to convince clients they still need us.

But without predictable & stable revenue, growth is impossible. To solve this revenue problem, we picked a different route.

We created Marker, a web product we sell on a monthly subscription basis. Web products like Marker are called SaaS — short for Software-as-a-Service.

The business model behind selling SaaS is simple. Customers acquired in previous months keep paying you while you keep adding new ones.

However, this model can take a long time before it becomes economically viable. Making the transition is not always easy, especially when you need to keep the lights on.

Here are 5 lessons I’ve learned transitioning from selling services to selling digital products:

1. Feel the pain

Over the past 18 months, we have launched a CMS for restaurant owners, a coaching app for juice lovers and some kind of Airbnb for food.

All projects failed.

Listing all reasons why they failed would be a waste of time. The truth is, we didn’t find product-market fit.

Here’s why:

We never owned a restaurant. We never wanted a coach to help us juice more. And we never were excited about eating out at strangers’.

We didn’t feel the “pain” as painfully as we needed to, to build something useful.

Finally, we decided to build a product we would need ourselves.

We ended up building Marker, a tool to help us with bug reporting.

If there were a tool to help us build high quality websites faster for our clients, we definitely would buy it. We didn’t find what we were looking for, so we build it ourselves.

That’s what we call: scratching your own itch.

Building a tool you actually need yourself leads you:

  • To notice tiny friction in your product. You don’t need to rely on customer’s feedback so much.
  • To have more empathy for you customers.
  • To have a clearer vision for how to market and sell your tool.

Recap: Building a product is as much of an art as a science. Feeling the pain will help you make better and faster decisions.

2. Don’t treat it like a side-project

Making time for your new project can be a challenge.

At first, we tried the 80/20 Google’s policy where employees can spend 20% time for creative side projects.

We decided that we would spend 80% of our time working for clients and 20% for our startup. To make the split easy, we closed the agency on Fridays to work on our project.

However, this approach failed because:

  • Your clients work on Fridays. They will call you, email you, and expect a timely response.
  • You will lose momentum. Not working on your startup for 7 days is too long.
  • Your new customers will be emailing you with support questions everyday.
  • You will start treating your product like a fun project to get your mind off of clients’ work.
  • Fridays are usually your less productive days.

After some trial and error, we found a better way to free up productive time.

We started treating our startup like another client.

Treat your startup like another client, not like a side project.

Your side project will always end up last on your priority list. It’s something you do when you have time. It’s hard to assign a team member to work on a fun side-project while others are billing time for clients. After a while, it can create some tension.

Changing your mindset from working on a side project to working for a client will lead to dramatic progress. On a busy week, you might make little progress on your project but maybe on the follow week, you can allocate 30 hours to it.

When we plan our workload on Mondays, we schedule side projects the same way we do for clients. We define milestones, set responsibilities and move on.

This model is great because there is always someone “on” working on the project. It’s more organic.

You could be working for a client the entire week, but your team is still making progress on startup collectively.

Recap: Your side project deserves the same seriousness that your clients receive. Don’t wait until you have time to work on it. Make time.

3. Hustle to get free traffic.

Most teams’ DNA is bias towards Product Development and not enough towards Marketing.

It’s comfortable to keep improving your product but it’s harder to get traffic. Especially when your product sucks!

But if you want to grow a business, you need traffic.

Attracting the right kind of traffic is hard. In the early days, you’re not sure who you should be targeting and how.

My advice: Throw spaghetti at the wall and see what sticks.

Aim to get a lot of traffic and keep an eye on quality.

Although this reasoning goes against conventional wisdom, remember what you are trying to achieve here. The goal is to learn who your target market is. At this stage, learning is more important than converting.

There are a millions ways to get traffic, but here are some of my favorite to get early traction:

  • Betalist
  • Reddit
  • Product Hunt
  • Medium


BetaList is a directory where early adopters go to get early access to new products.

Marker on Betalist

BetaList was one of the best traffic source for us in the first two months.

To be eligible your app needs to in a private beta. Perfect for a pre-launch.

Keep in mind that it takes a while for your startup to be listed on the site (4–12 weeks). You can still pay to speed up the process or plan accordingly.

There are many different directories to list your startup in. Some are free and some are paid. Take the time to add your startup to as many directories as possible or consider hiring the guys at startuplister to do it for you.


Reddit is amazing.

However, the reddit community is not interested in your sales pitch. They want to learn something and give you feedback on your story.

My first submit was about the pain that I felt interrupting my dev team with tiny details. In this post, I introduced Marker with a demo video.

You can read the thread here

We stayed on the front page of reddit r/entrepreneur (150,000 members) for almost 15 hours and collected 50 comments with insightful feedback.

Again, the key is not to pitch. Talk as if you were sharing your thoughts about your project with a friend. Adopt the right mindset and assume people will only give you feedback.

We did it again a few months later but this time with a different topic and got similar results. Plenty of feedback and traffic.

You can read the thread here

Product Hunt

Product Hunt works a bit like Reddit. Good submissions bubble to the top and bad ones end up in the internet’s graveyard.

Our first launch was a disaster but we got hunted a second time in March with amazing results. We collected over 400+ upvotes, 42 comments and at least 1800+ signups and counting

Marker on Product Hunt

The 3 most important aspects of a successful launch on PH is:

  • Building a great product
  • Writing a great tagline
  • Having an influencer hunt your product.

If you need need more info about it, I wrote an extensive piece on how to launch successfully on Product Hunt here


Creating content is always a good idea. If your audience likes consuming written content, I highly suggest starting your blog on Medium for a few reasons:

  • No set up cost. You can have your content up and running in less than 5 minutes.
  • It’s optimized for awesome readability.
  • And most importantly, you can tap into an existing audience.

For example, my first blog post on Medium got over 1k+ views. It’s not a huge amount, but it’s decent for a first blog post with zero pre-existing audience

Stats for Marker’s first blog post

However, you won’t get this many readers just by hitting publish. You need to promote your post yourself as well.

There are two ways to promote your Medium post: inside and outside of Medium.

Some ideas to boost visibility of your content inside Medium are:

  • Adding relevant tags targeting your audience
  • Encouraging people to recommend and/or like your post. This will create a viral effect among Medium readers.
  • Giving people a reason to follow you. They will hear about your next post more easily.
  • Trying to publish your post in a Medium Publication with an existing audience

Ideas to boost visibility outside Medium:

  • Publishing it on your social accounts (Facebook, Twitter, …)
  • Posting it in relevant subreddits on reddit (see previous point)
  • Emailing people who might have an interest in your content
  • Postingt it in relevant Facebook groups
  • Etc… (your imagination is the limit)

Always make sure to include a call to action at the end of your blog post as well as a few contextual links linking back to your site.

Recap: Traffic is not a good KPI for success, but you can’t build a successful web business without it. Don’t wait until your product is perfect to attract people.

4. Charge on Day 1

Do you remember when I talked about getting traffic and said:

Throw spaghetti at the wall to see what sticks

Now it’s time to see what sticks.

By charging people for your product, you will get validation that it product solves a real pain. Payment from a stranger is the purest form of validation, especially if you’re in a business-to-business context.

I know it’s hard to put up a checkout form on your ugly looking product, especially when you get feedback like this one:

Example of a complain about pricing

However, making money helps you build confidence. Next time you’re in doubt, you can always point back to the people that trusted you enough to pay you money every month.

But the best part about charging users is the clarity that cash gives you on what to do next.

Which leads me to my next point…

5. Follow the money

Building a SaaS with traction is a new experience for me and I’m learning new things everyday.

But if there is one thing that I had never imagined, it’s how unreliable and random feedback from users can be.

Let me explain…

When you are trying to get as many people as possible in the door, 80% to 90% of your traffic will not be a perfect fit for your solution.

Yet, these people will give you feedback anyway.

I’m grateful for their feedback and for caring enough to take some time out of their day to share it. But please, consider how much they use your app before you listen to what they are saying.

I’ve had someone suggesting 4 improvement ideas but who hasn’t use Marker at all!

Not a single session…

But this is not the most amazing part.

The most amazing is how silent your paying customers are. It can be really hard to solicit feedback from them.

I have a customer who even unsubscribed from my emails after only 2 on-boarding emails. Yet, he uses the app almost daily and is happy to pay each month!

I’m still having a hard time wrapping my head around this pattern.

My best explanation is this:

People who don’t need your product will give you a million reasons why it’s not good enough while your paying customers will be too busy using your product.

Next time you need clarity on what to do next, follow the money and listen to paying customers only. Beware of casual users at all costs.

Casual users are not bad people per se. They simply don’t feel the pain you trying to solve.


Retainers are not the only way for an agency to generate recurring revenue.

Building software that solves a pain and selling it can also be a good idea to increase your bottom line.

But transitioning from selling services to selling SaaS can be tricky. Hopefully our story will help you get you in with your projects.

In the meantime, make sure to check out if you need to ship websites & web apps faster.