TL;DR: These are the before-and-after charts after turning things around.
We were about to give up. We had spent a year building the product, but had no tangible results to show. We had zero real customers. The users we did have were the wrong types. Sales was tough, nothing was sticking. Worst of all, our product was not good enough and it didn’t truly solve any customer problems. We felt defeated and were ready to give up.
This is the story of how we turned things around for our SaaS business. We are bootstrapped, which means we have no outside investors or funding. Our monthly recurring revenue (MRR) is currently $24k.
The journey has been a long one with iterating through learning and feedback.
So how did we get here?
Derek and I are the founders of GrowSurf, referral software for tech startups. We both have technical backgrounds, having designed and built web apps together in the past.
I handle marketing, design, and front-end development for GrowSurf. Derek handles server-side architecture and development.
While working on various projects together, I would always be searching for referral software that we could use. There were always multiple options on Google, but nothing that really fit our needs or budget. That's when we decided to build it ourselves.
Building the product
We started building GrowSurf in mid 2017. It took us a few months to build the first version. We used tools like Firebase, Heroku, and SendGrid that helped us launch quickly.
We were trying to build it as quickly as we could to launch, test, and to reduce risk.
When we chose Firebase as our database we were able to launch super fast. However, later on, as we tried bending Firebase to our will, this cost us months in development time (not to mention the paradigm of writing queries to control costs and avoiding the dreaded 100% load, which halts Firebase).
If we were creating a simple CRUD app, Firebase could have made sense. But as a platform that would need to handle users on behalf of users, choosing a proper database could have saved a lot of pain and headache.
The technical recommendation is to really examine the needs of your SaaS and understand the necessary tools and tech stack. What saves you time and money now might cost you in the future.
The original vision was to create a self-serve, affordable product that tech startups could quickly plug and play to get referrals. We wanted to design a system that would streamline the amount of work involved for implementation.
Most people think of Airbnb and Dropbox when they envision referral program success. These companies built their programs in-house with significant time and engineering resources, which very few businesses have. We wanted to make the core referral software available to the masses.
Because we were looking to launch quickly, we ended up creating a highly generic product which was compromised on multiple levels and ultimately did not help marketers nor solve the problem.
We didn’t start with an audience. We didn’t have personal networks we could tap into to get connected with target customers. There was also no email list of subscribers or “coming soon” landing page. And we never did any cold outreach for product development (we found it impossible to get responses from cold outreach).
We instead placed a heavy emphasis on exposure. When we launched the first version of GrowSurf in late 2017, I posted all over the internet to well-known outlets like Hacker News, ProductHunt and BetaList. If the action item was on a startup marketing checklist somewhere, you can bet we did it.
Enough exposure could make all the difference. For example, getting a top-five spot on ProductHunt would get you in their email newsletter, which could make or break a product. Getting exposure at this early stage was highly beneficial and also helped with social validation.
Recommendation: Although you shouldn’t rely on places like ProductHunt and Hacker News, don’t underestimate what a good amount of traffic can do for you. Hope for the best, but expect for the worst. For a long-term approach, we've now invested into things like SEO and content. If you're an early-stage SaaS, I recommend doing the same.
This is what our v1 product looked like:
On the outside, it was pretty simple. Nothing unique or out of the ordinary. But it was really bad when it came to handling customer use-cases.
The product didn’t do a good job because it had no clear customer profile in mind. Our landing page copy was generic, and so was our pitch. There was no appeal.
We took the freemium business model approach - our plan was to launch a free product, gather customer success stories, and then eventually create a paid plan with premium features.
Hard work and floundering
We spent about a year working diligently on GrowSurf on a part-time basis. We were making product improvements, adding features, reaching out to users, getting feedback, and hustling on marketing to get more users.
We were doing whatever it took to find meaningful traction. The embellishment of weekly check-ins started to wane, as we reflected on what was working and what was not.
This period was extremely tough. We weren’t getting anywhere meaningful no matter how hard we tried and floundered around for a long time as the result.
The image below is of our first year in trying to make revenue with a “Premium” plan at $49/month — we only had $294 in gross sales and one customer who was bound to churn.
Shut down or keep going
There was no real traction, growth, or promise after a lot of efforts on our part. And this was after about a year of working really hard on GrowSurf. Derek and I decided to take a long break.
For a month, we reflected on how things were going, what our options were, and what we could do to find success.
We had to decide to either shut GrowSurf down for good -- with heavy sunk costs having spent so much time on it, or we could keep pushing on to find a way to the promised land of MRR and honey.
When Derek and I touched base, I was ready to throw in the towel and call it quits, but Derek persuaded me to give it another shot. I agreed as long as we didn’t make any more product compromises -- the road ahead was going to be tough, and we needed to get back to roots.
We looked at what we had, and decided the best option was to rebuild the product from the ground up. This ended up taking a year.
Turning things around
No more compromises
In order to turn things around, we needed to be honest with ourselves, and start with asking the right questions, and digging further.
Does our product suck? Yes. Why? Because it’s built with so much compromise.
Are we attracting the wrong types of users? Yes. Why? Because our messaging sucks.
If we can help users grow their business, could we succeed? Yes. Why? ROI for customers.
Once we asked reflective questions like this, and dug at the roots, we could identify our problems. In hindsight, the issues were glaring, but at the time, everything felt like a shot in the dark.
During our revamp, I went full-time on GrowSurf. Considering the amount of work ahead of us, I couldn't see a pathway to success on a part-time basis.
Focusing on the target customer
We learned a lot with version 1.0. We knew we had to get back to the original vision: make it easy for startups to tap into referrals. We had to work backwards, starting from understanding what customer success looked like: seamless integration and referral growth. We analyzed popular referral programs extensively, and worked backwards to rebuild GrowSurf from the ground up with this mentality.
Our new product had to make it easy for users to build a referral program into their product. This time around, the user experience (UX) would dictate the product design, and not the technical constraints.
Next, we needed to have an ideal customer in mind. We had enough data from sales prospects, users, and support tickets to identify the areas we needed to fix to make this the product that we had in mind.
The customer persona we used was one of the prospects I talked to. They were our ideal customer that we used to determine design decisions for GrowSurf 2.0. - i.e. head of growth for a well-known B2B SaaS startup, with a blend of technical and marketing skills.
It took us one year to rebuild from scratch and focus on the customer use-cases from our learnings.
When we first launched, we held onto a “Beggars can’t be choosers” mentality. We welcomed any and all sorts of users in order to get traction. But none of these users were really ever long-term, sustainable customers.
First mistake here was thinking that our market was the entire world of online businesses. We were trying to build a single software for all businesses. But in the referral space, there’s a reason all the players have a certain focus (e.g, eCommerce, DTC, Enterprise).
Recommendation: Be selective with your customers. Our software isn’t for everyone, but this works out much better for everyone in the end.
When we decided we wouldn’t compromise on the product anymore, we meant it.
GrowSurf is heavily inspired by some of my personal favorite MarTech tools and SaaS experiences -- products like HubSpot Sidekick and Stripe. Conventional features like email notifications and user accounts are designed pretty standard, but when it came to streamlining our integration process, we combined the good stuff from other SaaS and combined it with our own product.
Since day one, we've held onto the concept of simplifying the complicated process of a referral system. Everything we designed and built would need to be simple, flexible, and solve a pressing use-case.
On several occasions, we’d get caught up in the technical implementation and efforts it would take to build a feature. And because this time around we were dedicated to the user experience, the voice of the customer would guide the conversation. This is another area where there is a thin line in balancing between over-building and under-delivering. My recommendation would be to use your judgement, but absolutely become the biggest customer advocate you can be. All it takes is making sure that you step into the shoes of your customers.
Even today, our customers enjoy our simple interface and workflow, and will mention this at times in reviews, on social platforms, and in our support chat.
Combined with our customer personas and use-cases, we created a product that returned to its roots in vision: a tool that gets out of the way and does its job right, invisibly running in the background when set up right, brings some amazing results.
Addressing technical hurdles
A bit deeper on the technical side of things: GrowSurf 1.0 suffered terrible issues and couldn't handle server load. There was one time a memory leak issue was so bad that it took down our entire system. We didn't know what was causing it, and we didn't have the right tools to debug the issue. Downtime caused really unhappy customers. We later found the issue and fixed it, but moments like this reflected the feeling of anxiety of not being able to diagnose issues properly.
Other times, we experienced load from “hackers” hammering our API. This goes on, with headless browsers and level of sophistication of attack.
It was a long road ahead, and we’ve had to learn and reactively implement the right technologies and design decisions that fit our SaaS. When it comes to using core SaaS services, spend some time understanding whether to build vs buy. For example, we now use advanced visibility and reporting tools like Datadog. It's one of our largest expenses, but makes up for it in the value it provides.
Big props to Derek for leading our architecture through tough times, among the countless other items we were blocking and tackling together. To fix the wings of an airplane while it’s in the air, on fire, describes the type of work required. Our platform required some specific technologies like ranking, advanced querying, message queues, and Kubernetes. It would have been impossible to scale without Derek! The takeaway here is to work with talented people where you can divide and conquer.
We launched with a megaphone pointed at our audience (the “marketing”-first approach). This means that all the language used on our landing page and emails attracted the wrong types of users because it might have been general gibberish. If we had started with a “sales”-first approach, that would have saved at least a year in learning how to speak the language of our customers.
“Marketing” is a one-way street. You present something to your customers, and they decide if it’s for them or not. [Good] “Sales” is when you let the customer talk to you. Then you’re able to present how your product can address their needs. If there are concerns, you can ask what they are.
Because GrowSurf 1.0 missed this messaging, our landing page sucked.
Once I updated the marketing copy on our homepage to speak to our ideal customers, the more ideal customers filtered through. If we had focused on doing this a lot earlier we could have saved years of wasted effort.
When we had launched GrowSurf 1.0, I cold emailed perhaps 50-100 people, and got only a few responses of interest.
Here’s a screenshot of one of the emails I did get back, and what I would do to change the messaging:
This is the same ideal customer persona I referred to in this post: the head of growth at a growing SaaS company.
My first go-around at improving marketing copy was using insights I had from taking 600+ demo calls. I learned how prospects approached the buying process, what they were saying, and what they were looking for.
This is because people find us primarily through a Google search and set up demo calls with the referral solutions on the page. As a result, I got a chance to speak with prospects and understand what they were looking for. What use-cases they needed, what features they wanted.
We also hired a B2B SaaS copywriter who was able to translate customer data and quotes into converting landing page copy. Better copy helps our audience learn why we're the right product for them.
After spending years on marketing language, and endless revisions and cycles, it's nice to see results like this:
Out of all options suggested, Growsurf has the clearest value proposition. Thanks for sharing Stefan!— Ben Issen (@creative_ben) November 1, 2020
@GrowSurf has a nice framework. Haven’t used it yet but have been researching it as well as many others and gs seems pretty robust and API capabilities.— Lizelle van Vuuren (@heylizelle) March 6, 2021
My recommendation is to continue working on your messaging to resonate with your customers.
As a tiny company, one of the advantages we had in our corner was being able to control our customer support experience. One of the big things we did was remove customer support options for our free plan, and have support be paid. This helped us allocate our time on real customers.
Later, as we started to gain traction, Derek and I got inundated from juggling all the hats. Half of our time spent would be helping customers.
We ended up creating a lot of internal processes and FAQ docs for providing support (to avoid the bus factor ). We also had an unsuccessful first-hire for a customer support role and learned a bit from that experience (never ignore the red flags!).
After a more thoughtful search, we hired Sudi as a full-time technical support specialist last year and things improved significantly. We were able to transfer product training and knowledge, and Sudi has been doing an awesome job in helping our customers.
Because we put so much time and energy into making customer support work, it’s rewarding to see results like this:
Social proof played a huge part in growth. It got the ball rolling. No one wants to buy a product that has no other customers. The journey to gathering ratings, reviews, customer success stories, case studies, brand logos, and testimonials was a long one.
Because we started from scratch, it took a painfully long time to build up social proof. From setting up referral programs to seeing results, customer success stories take time and energy, and outputting a case study out of it, while balancing the rest of the business is pretty effortful.
The results of slowly building out the product and doing sales and marketing is what helped us to get close to our customers. When I would request a review, lots of customers would generously provide us with them. When we would reach out for case studies, it was a pleasure seeing how happy our customers were in the results they were getting.
My recommendation is to talk to customers and establish relationships. We learned first-hand, our customers are the best advocates we have.
We just had our best month of revenue growth in March. But we also took a large hit this month from a large customer changing to a smaller plan.
In recent months, churn has increased. We're currently averaging 7% churn. If we reduce this, we could be growing much faster.
Our SaaS is performance-based so if customers don’t see results, they churn. That means we need to get our customers results.
Considering we used to have double-digit churn, our current average is a major improvement. But it's not good enough. After we analyze this round of data and implement a strategy, I'll write a detailed post on this topic in the future.
Improve the customer experience
On our backlog, there are many items that we have yet to do. Keeping focused on building features that improve success is what we’re going to keep doing. At the end of the day, customer success means finding success with referrals and having a good experience with setup, implementation, and support.
As we look for opportunities to accelerate and improve returns on customers' referral marketing programs leveraging the expertise we have gained so far, we'll continue to have conversations from customers and get their feedback.
I hope you enjoyed this story.
If I could sum it up into a few key takeaways, here they are:
Find customers and solve their problems. Don't fall into the trap of “if I build it, they will come”. Talk to potential users. Once you have your customer profile, speak their language.
Stick to your product vision. When we returned to a focus on our target customers, our product fit these companies much better than any other type.
Create the best product that you can for your customers. Don’t compromise to go quick. If you're starting from scratch, really uncover the true use-cases for customers, or what’s really holding them back. This is tougher said than done.
Be selective with your customers. Our software isn’t for everyone, but this works out much better for everyone in the end.
Work with talented people where you can divide and conquer.
Be prepared for a lot of time, effort, and self-doubt. Our progress was slow and steady. There was never one thing that really catapulted growth -- it was a combination of a lot of different things. Hang in there, stay alive long enough to find what you need to change.
Follow me on Twitter for more content like this.