How we built a $1M ARR SaaS startup
canny.io
canny.io
I found the note about luck in the Zero to One section interesting. I don't know anyone who runs a bootstrapped SaaS that's made it past 1M, who doesn't feel like they got super lucky with their first customer. We did exactly the same thing - a random connection that just happened to work out. And yet, most people starting new companies don't seem to focus much on making this luck happen.
And yeah, it always feels bad to write that "we got lucky", as it isn't really that repeatable/helpful. But it's true.
Congrats on the milestone!
AFAICT, what's repeatable / helpful is a bit more nuance about "how to make luck": 1) Know what you want so you can recognize it when you encounter it 2) Give yourself lots of opportunities to encounter it 3) Have the self-direction and resources to jump on it when you encounter it
Of course, there's also just pure blind luck.
Edit: I know there's another step in here, but TBH I'd love advice for it: Making sure the other party recognizes you as something they've been looking for (aka, all the above but from their perspective). Advice?
When they randomly met people who could open doors for them, they just seemed like interesting people to open doors for, and who wouldn't waste the opportunity nor abuse it.
Anyway that's my take, but I'm still struggling with #1 at 50, so I might be over-thinking it.
For #1... AFAIK it's the art of holding an abstract wish. Imagine it'll be granted by a lazy genie; neither malevolent nor benevolent; just as easily / simply / directly as possible.
Related to that, having the courage/gumption to notice that someone may be holding a door open for you and walking through! I have looked back at some interactions with people who I probably could have used (not abused) to further my career but I was locked in a mindset that I didn't think I was worthy of their attention/guidance even though they were offering it.
- exposure (your own putting yourself out there); - ability to recognise the opportunity (should it arise); and - ability to convey your worth/utility/function to others so that they might reciprocate (e.g. communication skills et al)
I'm kind of parroting what you have said but I resonate with it. In some sense what we call "luck" is in-fact earned at least in part.
The market is sometimes just not ready for something and knowing if your timing is right isn't obvious, nor even possible to determine in most cases imo
I was pitching Roam-like software in 2005. No interest at all.
Now there's dozens of them talking as if graphs and relationships in (personal) knowledge management is new.
It's hard not to feel bitter.
I didn't plan it this way. My ex-colleague, @vjeux, messaged me and asked about my new startup. I told him it was a user feedback tool, for tracking feature requests. He said React Native had that problem, and they just started using it.
So I think working at FB on React is what exposed me to getting lucky here. I think a lot of luck in startups is about increasing your exposure to getting lucky.
The argument is that luck isn’t binary, it’s a lot of doing and telling to create opportunities for yourself. I think this is true for your story at Canny - you had built something and you probably told a lot of people about it. You created the circumstances for this lucky event to occur.
Every year that passes I suspect it becomes more and more impossible to get anything off the ground without at least a little bit of funding. If I had my time again, I don't think I'd go bootstrapped. Seed funding seems to be a great compromise between bootstrapped and angel/VC. TinySeed are doing some great things on that front.
Props to you guys and gals for making it work! It looks like a great product and a great team.
The Canny founders are absolutely phenomenal startup founders, with a world-class background in product design and engineering background. They executed extremely well, chose an excellent target market, built an incredible product, and marketed it extremely well by sharing their story and progress.
This is like comparing yourself to a star basketball player in the NBA. (Especially considering that the founders came from careers at Facebook.) Meanwhile, most of us are just regular software engineers who are trying to make things work as a solo founder. I don't have a strong background in design and UX, and I've made a lot of mistakes. I'm still proud of my achievements and I think I'm building a great company at a sustainable pace, but it can still be a bit depressing when you see people executing perfectly and growing at an incredible rate.
"Marathons" are an over-used metaphor, but it's a good metaphor. You're almost certainly not going to finish first, even if you're a world-class athlete. But even if you finish last, I think that's still something to be proud of. (Where "finish" could mean achieving profitability, or having an exit.)
What should be highlighted here is just how difficult it is to hit $1M in ARR (took them 3.5 years and they have a staff of 9 employees ... which is only ~$110k in revenue per employee)
No, I would say almost everyone who bootstraps either goes into debt or uses savings to fund the business, hoping to break even and make a profit eventually.
If you can get enough revenue from the first day to cover cost of living for even 1 person, that's a good start, but unusual. Bootstrappers who start with an existing client or product that's already selling can do that.
Also, depending on circumstances $1m ARR may be enough to cover costs for a team of 9. Many people earn much less than $100k even accounting for costs, and some SaaS don't need high operating costs (hint: cloud services are not the cheap way), or are still working their way through AWS/IBM/Google free credits.
At some point your access to capital dries up when banks see your level of risk increase. You might be able to survive moderate losses for a year or two and cover it with personal debt financing, depending on how much money and access to capital you have personally, but 3.5 to 4 years covering losses with personal debt is REALLY pushing it. You're most likely talking several hundred thousand dollars at that point even for a small startup.
And $1M ARR is only enough to support a team of 9 if the average salary being paid is around $50k-$55k/year (or if 2 or more people aren't even drawing a salary). Which makes sense because, in their blog, they describe hiring someone for marketing that was much less "senior" - i.e. cheaper - and not being happy with it. Taxes, fees, registrations, legal/accounting, benefits (if any), insurance, hosting, technical infrastructure, etc. can easily eat up over $300k/yr for a team of 9 - not including direct payroll.
That’s an amazing accomplishment.
Would you mind sharing,
- how many employees you have
- biggest driver to your revenue success
- biggest mistake the company made
- anything else you might find of interest to share
Still I'm sure it takes dedication when you could just as easily make FAANG money.
This is speaking as someone who's trying to move an older software shop from a one-time on-premise cost to SaaS. Fortunately the current business's revenues are directly being reinvested towards new products that are on the recurring SaaS model.
There's that quote, "hindsight is 20/20", meaning it's easier to understand what went well/poorly when looking back. It's easy for us to reflect on what went well, and share just that.
Doesn't mean it was easy/obvious in the moment, but hopefully our post helps others with their journey!
a) How relevant was your experience (as engineers) in building and growing startups?
b) Looking back, what skills would you have liked to acquire before starting up?
c) How much of startups is marketing and networking compared to product and growth?
Thanks,
Super relevant to building the product. I feel like to be successful, you have to be really, really good at a couple things. For us that was engineering + design. For another team it might be that they're good enough at sales that they can close big deals right off the bat.
Being great at engineering + design meant we could build the best product in our market, with a robust codebase that's free of errors (unit tests, CI/CD) and easy to scale.
> b) Looking back, what skills would you have liked to acquire before starting up?
Hmm. It might have been good to work at an early-stage SaaS startup before starting one. This would have given us a lot of context into pricing, sales, marketing, recruiting, etc. Problems that we kind of just had to figure out from scratch.
> c) How much of startups is marketing and networking compared to product and growth?
Most of our success can be attributed to a) building a great product, and b) getting it in front of people. B is all marketing. Ads, SEO, content, etc.
Now, some startups rely entirely on product + sales, and some startups are able to attract all of their customers with just product (esp consumer). It really depends on your product/market/company, and how your customers want to buy.
Luck can definitely play a big role in building a successful company. I think what a lot of people don't realize is how you can increase your exposure to luck.
For example, if you have a bigger/better network, you're more likely to get lucky from that. If you talk to more people about your company, you're more likely to stumble across key partners/investors/customers.
In our case, our luck with React.js can be attributed to my working at Facebook before starting Canny.
Thanks for posting that cache link :)
Use ElasticBeanStalk... nah, actually that's a terrible idea.
Edit: Use Caprover inside of an AMI on an autoscaling group on EC2 (t2.smalls if you want)... or use ECS on Fargate.
The main problem is we were on a $10/mo server, which is plenty for our typical blog traffic. But definitely not enough for HN! Heh.
I looked at the product and it appears like you can track which feedback (whether product or employee) is bubbling up based on popular vote.
How do you offer to track users? Do you expect me to make my board public for collecting feedback or something else?
BTW, you had a great milestone. As someone in infancy of building my product, $1MM ARR souunds really good.
Now, to add to what other users are saying, it appears like you both (Hum and Rasmussen) worked at FB before. I would imagine you made a bank (aka $500k at least) between you before jumping the ship.
A few questions - 1. How did you find first few customers? 2. How did you convince them to buy over existing products with fair degree of overlap such as Trello, JIRA, ProductPlan, RoadMunk etc. 3. Who do you consider your competitors?
TIA for answering!
Love this comment in the article regarding hiring via a time consuming vetting process.
I think that's what bothers me most about technology hiring these days.
There is more testing and mini-projects than ever.
It's not uncommon to spend half a day just going through first rounds for companies.
I'd love something like: make it to the second round and we will compensate you for your time going through the vetting process.
Then I'd know they value my time and are serious.
We use them at CommentSold for feature ideas, bug reports, and even top 1% feature ideas. The ability to tie it into our product and see the features voted on from an MRR aggregate not a vote-aggregate is phenomenal
"Oh, you like this item you see on your facebook feed? Comment sold and your size to order it"
We’re bootstrapped, meaning we’ve never taken any money from investors."
[...]
>What problem do you solve?
We help software companies build better products by doing a better job of collecting and understanding user feedback."
[...]
>"LESSON LEARNED
Be focused—don’t try to solve every problem for every business. Build an amazing product for a small group of people instead of a mediocre product for everyone."
There's a quote, "Do nothing, and nothing happens", and it's super true in the early days, before you hire people. If you don't work, your company makes literally no progress whatsoever. This is motivating. Like, everything relies on you, so show up and get it done!
I think a lot of VC-backed companies only get 1-2 years of seed money to try their idea. It took us 1.5 years to make our first dollar, and another year after that to get to profitability. If we were venture backed, we might not have had enough traction to raise our next round, and would have had to call it there.
Similarly, I don't love the "lean startup" approach of trying a bunch of stuff quickly. If you pick a good starting point (big market, competitive differentiators, etc.), and spend years at it, you're bound to have some success. Just due to the sheer fact that you're willing to commit more of your lifetime to solving that problem than anyone else is. That's what worked for us at least.
This is what my thinking has shifted to as well. Play long term games instead of trying to make a quick buck.
If you're trying to do something very innovative, I understand why the lean startup method is advised so you don't waste a lot of time. But if you're going into an existing market, I'm not sure it's the best approach.
All the best for your future goals and roadmap :)
Maybe this is just semantics but "Reaching out to product people for feedback" is the best outbound marketing there is.
"Buy our awesome car! ...and our first hire was this person who drives us around on his own car"
Inbound: VIP trial sign-ups, demos booked, demos given, opportunities created, opportunities lost/won
Outbound: Emails sent, emails opened, reply rate, calls made, calls answered, conversions to trial/demo
We use SFDC for our CRM, and Apollo for outbound activities.
Delusional owners.
> Within the first week, we had over 100 applicants for our content manager position. We easily passed on 90% of applications that:
>Opened with something like: “Dear Hiring Manager” or “Dear Sir/Madam”
am i taking crazy pills? why would you pass on someone just for that?
North of 1m I started focusing more on brand marketing. Think Red Bull and creating a feeling around your brand, what space you occupy in people’s minds and why. This kind of marketing is hard to measure and becomes more feasible as your budget expands.
Consider getting an excellent HR consultant to deal with complex issues that will emerge as the team expands. You haven’t seen it all.
Get a kick ass law firm on your side. You’ll need them for day to day and not so day to day stuff like asserting your trademark rights. As execs, get friendly with a partner at the firm and try to do the occasional lunch. They’ll be an amazing source of network and a counselor when you get your first offer for acquisition.
Get a great firm of accountants, even if you do your own books. They’ll also be excellent advisors.
Try to promote internally and invest in your team with education allowances and subsidies. Once your business is humming, your existing people know the customer, product and culture. This has worked extremely well for us.
Avoid hiring a “seasoned executive” or manager. They bring little value, will only give you a sense of comfort and are very expensive.
Assemble a leadership team of trusted lieutenants and get good at trusting and delegating.
Learn as leaders (talking to the founders) that you aren’t one of the team anymore. You’ll learn this the first time you walk up to your crew at a conference as you see them happily chatting with each other, and as they see you they’ll stop and all eyes will turn to you. Then you’ll pretend you just came over to say hi and were going to sit somewhere else. And you’ll go sit somewhere else because you don’t want to interfere with the important team bonding that is happening.
Say no to your first few acquisition offers. You’re bootstrapped and cash flow positive which is lightning in a bottle. Congrats!! You can always say yes later.
Don’t feel insecure about just repeating the things that work, but at larger scale, all the way to 9 figures. Business is surprisingly basic.
Don’t take funding if you can avoid it. You’ll be amateurs entering the ring with prize fighters who negotiate funding deals every day and you’ll regret it on many levels. Focus the energy on growing that cash flow and use that for funding.
Build a war chest that’ll carry you for 6 months without layoffs if your revenue completely stops. This will take a few years.
Monitor your cashflow religiously and get good at predicting expected performance so that you can catch slow downs early and react soon. Early detection is key. When your revenue dips, don’t panic and make the hard calls fast.
Congrats again and you can DM me on Twitter @mmaunder if you have specific questions e.g want supplier recommendations.
Best of luck.
~Mark
For all the talk about representation matters, and tech workers champion social issues, this just seems like a really frustrating and curious massive blind spot.
Anyway, again, not to detract from the success, but I just see examples of this weekly here.
- more risk averse, less likely to join a small startup and prefer the security of a 9 to 5 job at a larger company.
- more experienced, and more experienced people require higher salaries, which a smaller company might not be able to afford.
Don't look for opression when there's none.
However:
- The amount of programmers grows exponentially. I've seen stats claiming it doubles every 5 years.
- This means that at any time, 50% of the available workforce has <5y experience. Often this overlaps with young ages.
- It also means there are simply way more programmers under 40 than over. If you randomly hire 9 programmers there's a fair chance they're all under 30.
- Anecdotally, less than 5% of the job applicants we got was over 40.
- Young programmers haven't had time yet to make the mistake to "repeat the same year of experience 10 years in a row". If you hire a young, junior programmer, you know they're junior - what you see is what you get. If you hire an older programmer they might be great or they might be that same junior programmer but more stubborn and with higher salary expectations.
As an avid anti-ageist, in fact I'm rather disappointed about that last point. I've met many programmers at around or above my age that have gotten completely stuck into a tiny niche of experience and, even there, seem to not really have progressed much in terms of depth. Why do people let this happen to themselves? I mean I met people who spent the last 10 years developing just-not-the-same custom Magento webshop plugin over and over again, each time with a slightly different twist for a different customer. Not hiring someone like that isn't ageist, it's common sense. Once Magento is out of fashion these people have a pretty serious problem.
The reason I don't understand this is because with each new technology you learn, there's a diminishing effort to learning the next because there's so many similarities to a thing you already known. There's a reason most people complaining about "javascript fatigue" are young.
As an example, when React/Flux/Redux first came to the scene, old farts like me could recognize that its "unidirectional data flow" wasn't fundamentally different from the good old desktop MVC UI pattern (before Rails hijacked the name and gave it a different meaning). I imagine that this made learning React and architecting decent apps on it easier for me than for people who'd never seen data "flow" in circles before.
Age definitely can be an advantage. But it isn't by definition. Keep learning new stuff folks! And if that ever stops being fun, you can always become a manager.
You kind of answer this in your following paragraph, but there's also diminishing benefits with learning the next great tech stack. Coupled with the exploding growth in frameworks et al, it's impossible to learn them all.
So I'd counter your fear of the 10x 1 year experience "veteran" with the very real scenario that you have a 10x technologies for doing the same thing. This might help someone get a job but not too many companies need this specialized, redundant skill set.
I'm the same age as you and consider this a narrow characterisation of an older programmer.
I know there are better younger programmers than me. I know that I've got suck with the same experience over and over, because as I got more senior, that's what people wanted from me.
I also know that the breadth of other skills I bring is significantly more than a young programmer. I've had to master how to deal with management, seen projects fail for many different reasons, mentored juniors, pulled together international teams of programmers (with varying success - motivating certain nationalities is a skill I've yet to gain), architected projects, held the peace between junior programmers who saw everything in black and white, and continued to write code that was distinctly less buggy than others.
I am a programmer. One who needs to take a sabbatical and learn some new programming languages, but at heart I am someone who makes stuff happen by writing software. I like working with younger and older programmers (the oldest is in his early 60s); both keep me sharp and challenge my outlook.
But if you look at my resume, sure I've gotten completely stuck and haven't progressed in terms of depth.
* By 40, they've probably already done the startup thing once or thrice, and many have been there, done that. They are also less motivated by startup stock options, having seen them evaporate personally.
* By 40, they are more likely part of a family unit that values financial stability.
* By 40, they are at their salary cap. They are simply more expensive. They've also been around the block enough to have connections and to play the regotiating game harder.
Overall, I think the strongest factor is simply the demographics you mentioned. There weren't that many folks that graduated in CS until the 2000's. Also, many of the folks that are around my age have switched careers away from development.
Or switched into it! Got my first development job at 35 after a career in graphic design.
The worst part about this is that the world doesn't need so many developers. It also doesn't need so many marketers and data scientists either. The jobs are being created artificially as part of the Federal Reserve Bank's job creation mandate and financed by fiat money printing.
The economy of the past decade is a complete farce. When will people wake up and realize what's going on? Soon it will take 100 developers to do the same work which used to only require 1 developer and the outcome will be worse.
I think the strategy is to create a large population of developers who are incapable of creating real value outside of their extremely narrow niche... Thus making them (and the society that they are an increasingly large part of) totally dependent on corporations and allowing corporations to control and shape our politics and society and suppress our free speech.
I'm a developer so it's not in my interest to say this. I wish it were not the case. Nowadays people only get into this industry for money. Nobody cares about coding.
If you shelter a subset of the people, you make life much harder for all the other people who are not benefiting from that protection and have to work against it.
A: Spend all your energy to target potential hires from a demographic into which you have no insight or contacts, that typically wants more reward and less risk than you can possibly provide.
They can most certainly be open to having a diverse team but it's not up to every startup with a few employees to fix the system*
*the opinion of this 50ish visible minority
The Fed will keep printing more and more money and jobs will become increasingly useless. It terrifies me to think that the situation could get worse than this and most people still won't notice.
If it continues down this path, in the future, we'll have people whose entire career will be to sit at a desk and stare at a wall from 9am to 5pm and their employers will seriously believe that this activity adds value to the economy. We'll have consultancies which specialize in wall staring. Some will specialize in staring at white concrete walls, others at wooden walls, etc...
It might sound like I'm joking, but I'm very serious.
The only people who claim that these tools add value are people whose jobs depend on the existence of these tools. There are a LOT, a LOT of such people. I would say at least 90% of office workers today and increasing.
They do add value. Product management is about two things: product discovery and product delivery. Canny increases your chances of doing the 1st one right. That is the most difficult thing to do: finding the right product to build. Canny allows you to get direct feedback and learnings from your users in a very simple way and most importantly, in a cost effective one. If you look at their pricing page, you might get scared, but believe me: building the wrong product is even more expensive.