The inside story of how I bootstrapped to $10k/mo (and why we went the VC route)
I've decided that it's time to tell the story of how I bootstrapped my software company to $120k ARR with a full-time job before crossing over to the "dark side" and raising venture investment.
p.s. - If you're interested in learning more about the specific advice I have for navigating bootstrapping vs. funding, please see part #2 of this series).
Over the past few years, I've seen countless discussion on why bootstrapping is better than pursuing venture investment (and vice versa). I've experienced both sides of the coin and wanted to write a post that I wish I had read before starting my company, Friday.
My hope is that sharing my story will help you make an education decision about what makes the most sense for you. I hope to provide nuance to the discussion around bootstrapping vs. fundraising.
P.S - after a couple years of iterating, we finally launched on ProductHunt today...check it out!
This post will be long and in-depth, but here's a summary of what you will learn:
- The origin story of Friday (why I decided to bootstrap)
- What it's really like to bootstrap (the good parts, the horror stories)
- Selling $10k+ ACV contracts (including a $35k/year deal)
- Why selling to HR is the worst (or why you should be thoughtful about who you are selling to)
- Why I decided to stop bootstrapping and raise investment
- Why raising money is surprisingly difficult for bootstrappers
- What I would do if I was starting a new company from scratch (see part #2 - lessons learned)
This post will be the story - I hope you find this entertaining and useful.
The beginning of an idea (2013)
The origin story of Friday started with an experience I had back in 2013. At the time, I was a recent college graduate and had moved to Boston to work for a startup. I started working for a venture-backed startup that was trying to find product-market fit.
Over the course of a few months, I worked in three different departments (engineering, marketing, product) and had the opportunity to work for three different managers. The first two managers I had held regular 1-1 meetings with me. I found them to be incredible valuable. This regular feedback loop helped me understand where I stood and where I could improve.
Unfortunately, the last manager I had didn't hold regular 1-1s with me. I was struggling and didn't feel comfortable mentioning this reality because the opportunity never presented itself. I started job hunting and left the company shortly a month later.
As I reflected on this experience, I thought, "if my manager asked me a few questions on a regular basis, I probably would have been honest about how things were going." If my concerns were addressed, I probably would have stayed at this company.
At the time, it seemed like there could be a tool for managers to create better lines of communication with their team, improving morale and productivity. On several occasions I tried to spin up a Rails app - life got in the way, so I never ended up building a prototype.
Smoke testing the idea (2013-2015)
For the next couple of years I continued to work in startups and started soft-pitching the idea of a tool that could help managers collect feedback on a regular basis. The idea continued to bounce around in my head.
I convinced a good friend who founded a fast-growing startup to send out a Wufoo survey every Friday to the entire company asking for feedback. For people who answered the survey, they would get a chocolate-chip cookie as a reward. He called this "Friday Feedback" and said it was a great way to learn how to improve the company.
Still, I continued to sit on the idea. I distinctly remember discovering 15Five and thought, "it doesn't make sense to build this idea. There's already competition in the market so it's not worth it."
"I can't keep thinking about this, I need to build it" (2015)
Towards the end of 2015 I decided that I wanted to try to build my own software product. The idea of passive income was pretty cool - I had built templates for LeadPages and was making a $200/mo selling them in the marketplace.
It seemed like building software was the best way to accomplish my passive income goal. If it failed, I would have learned some lessons along the way. If it succeeded, I'd make a few thousand bucks a month and pay for the majority of my personal expenses and be able to move to the middle of the woods in Maine (a real goal I have).
Earlier in the year I had launched a consumer Android app, so I knew that I wanted to build a B2B product because that was a way to make money.
I knew that this product would never get off the ground if I tried to build it myself, so I hired an engineer in Europe on Upwork to build out an MVP in Rails. I wrote code too and did the frontend design.
Here are the earlier screenshots I could find of what we built for the initial version. It looked terrible!
The MVP was ready in early 2016, so I started emailing everyone I knew who was a manager asking them to try it out and give feedback. At the time, the product was free, with premium features and reporting behind a paywall. I found comparable products online and decided to charge $5/mo per person (per month).
At this point I had probably spent ~$5k on development costs. I tried to convince myself that it would be okay because it would cost thousands of dollars to go to school for a college class.
The first paying customer (February 2016)
After a couple months of cajoling my friends to try the tool, I had a small group of people regularly using the tool every week, but no one was a paying customer yet.
On February 22nd (a little over 1 month since "launch") I landed my first customer. You can see the email below:
I was hooked. I was now making $45/mo. I was rich! This was the passive income I was hoping for.
Saying goodbye to freemium (May 2016)
Fast forward a few months. I did all kinds of crazy things to convince people to use Friday Feedback. I left so many comments on HBR articles that they started banning my IP address. I couldn't spend money on paid marketing, so I hacked together whatever I could find.
At this point, I had about 20 teams using the tool on a regular basis (maybe 50-75 people filling out updates every week). It was a mixture of people I knew, but many people I did not. This indicated to me that this tool was useful in the market and providing some value.
I decided I had to make money and couldn't paying the engineering bills out of pocket, so I transitioned from a freemium pricing model to a trial-based model (3-weeks). I was sad to get rid of the freemium model, but I needed some predictability around revenue and couldn't afford to constantly experiment with packaging.
After this transition, I had several people upgrade to the paid plan and I was making about $200/mo. I was stoked. This was definitely the passive income/ learning experience I was looking for.
The first annual contract (August 2016)
Over the Summer, I continued to build out the product and in August, closed our first annual customer ($1200/year). It was a 20-person manufacturing company located in Illinois (I'm proud to say they are still a customer today) and they used the software to understand how people on the shop floor were doing.
I grew up in a blue-collar manufacturing family, so it was an incredible feeling to think that perhaps someday, my dad could use a similar tool. I also loved the fact that regular people found value in the software vs. it just being a tool for people who worked in tech.
"Can we use this with multiple teams?" (September 2016)
I've spent most of my career working for software companies that are product-led. I knew that I wanted Friday to be a simple tool that would be used broadly across a department (or company), but up until this point, it was primarily used by individual teams.
In September, I received an email that changed the trajectory of the company. An executive at a 150-person company asked if we could expand the software and use it with the entire company. This was driven by the fact that a former colleague was using the software with his team and it caught the attention of the others.
I was elated, but also a bit nervous. We didn't have multiple team functionality, so this would be quite a bit of work to create teams, roles, permissions, etc. With that being said, I could move from $50/mo deals to $500/mo.
After some back and forth negotiating, we settled upon $600/mo. We started working like crazy to add the features in order to land the account.
The very bad day (November 2016)
After a couple months of work, we were ready to launch the account. We had the new multiple teams functionality built and the necessary roles and permissions.
I provisioned the account and we waited for the weekly check-in emails to be sent. I was a bit nervous, but excited. It felt like the company was entering a new phase.
I will never forget that Friday morning.
Around 7:30am I received a message from a former coworker who had some very bad news:
"Hey, I'm getting notification emails from people in another company."
He included a screenshot of a notification email saying that someone had checked-in (including part of their response), but the person was from another company.
My heart sank. I frantically messaged the contractor who was helping us asking if we could shut down the emails. I was pretty much crying at this point. My wife asked me if someone had died because I was freaking out.
I knew my way around the codebase some, so I ssh'd into the box and yanked out the Sendgrid API keys, but didn't reboot the box (derp), so the emails kept sending.
Finally, the contractor jumped on and shut the emails down. He had done a ton of work adding teams and permissions, but didn't scope the email notification to the current organization.
The issue was fixed with the addition of one line of code.
I tried to smooth things over with the customers and outlined what we would do to prevent this from happening again. What started off as a passive income project turned was turning into something bigger.
It's time to grow up (November 2016 - April 2017)
The very bad day started to teach me a very important lesson, but I didn't fully internalize it at the time.
Friday was a business. I had paying customers and they had expectations that the software would work.
Over the course of the next several months, I was confronted with the reality that I needed to "grow up". At the time, I was pretty lazy and didn't QA much. As a result, I would make changes, ship code, and break stuff. Sometimes this would happen on peak traffic days (Friday morning). If something was broken, there were times when I would receive 3-5 emails from customers within minutes of each other.
It turns out that paying customers want the software to work in a reliable way. One of our biggest customers pointed this out and said if I didn't change my process, they'd cancel their subscription.
This was a wake-up call for me. One on hand, it was kind-of nice to know that people were using your software on a consistent basis to care about sending bugs your way. On the other hand, I needed to change.
We started implementing more robust QA before shipping to production. We created redundancy so servers wouldn't go down on peak traffic days. This was tough for me as I loved to ship stuff and see what happened. But I also didn't want to let our customers down.
Let's sell this as an HR tool (May 2017 - June 2018)
With the new functionality, I was starting to move upmarket because that's where the money was at. I wrote content marketing pieces about HR topics ("pulse surveys") and started to get inbound interest from HR leaders who wanted to measure and improve employee engagement.
I thought this was awesome - Friday would be a tool for HR departments and we'd help make work better for everyone at the company. I watched a bunch of new startups launch and continue to grow in this space (TinyPulse, 15Five, Lattice, Glint, etc).
I thought I would ride their coattails, so we created a similar set of functionality. I won a few competitive deals vs. these startups. I closed my first $10k+ annual deal selling to an HR leader.
From a revenue perspective, the business was doing great.
If I remember correctly, we were on track to do $60k/year. Not bad for a side project! I still had a full-time job throughout this process, but would answer customer support emails in the morning, during my lunch break, and at night (and weekends if needed).
I never paid myself. Every dime went back into product development.
This time was stressful (more on this later), but I didn't really have a choice. I couldn't jump into the business full-time because I had my first child on the way, but I could't just ditch my customers. There was a business here and I needed to figure it out.
The biggest deal we sold (Oct-December 2018)
Around the time my son was born (I was a new dad trying to figure that out), I received an email from an HR leader at a 600 person company. They wanted to learn more about the product and if it could help them shift and have more real-time performance conversations vs. the annual review.
Long story short, we piloted the tool with about fifty people in October and they liked what they saw. They wanted to roll the tool out to everyone at the company - this was over 500 people. I sent over a proposal (YCombinator has a sales contract template in case you were wondering) and it was ~$35k/year.
In case you were wondering, this is a time when a small startup will act a lot bigger than it really is. I assigned myself as the "account manager" in the contract. The entire experience was a bit comical in hindsight.
Anyways, I heard back a couple weeks later from my point of contact and the contract was approved by the COO.
I was thankful, but I was uneasy. I wasn't sure that I wanted to sell primarily to HR teams anymore (more on this in the next section), but I couldn't pass up a deal this large. The first of four payments (~$8k) was made a few weeks later.
Maybe I was sleep deprived because my son was colic and wouldn't stop crying. That could have played a role :)
"I don't want to build an HR tool" (Dec 2018)
As we sold the product to more HR teams, I started to notice patterns emerge that made me question everything. Yes, the company was making a meaningful amount of revenue (~$100k), but something wasn't right.
First, I wasn't excited about the product anymore. We were building a product that solved someone else's pain. It was hard to get excited about that, especially considering I originally built the tool to solve a personal pain of mine.
I was also receiving inbound leads from HR teams, but it was absolutely brutal to try to sell them the product. Many didn't have budget or the social capital to implement a tool like Friday inside the organization. There's nothing like trying to sell an "innovative" tool to a department that exists to de-risk things for the company. I don't want to be mean to HR teams, but this reality exists. Sales cycles are long. There's a ton of tire-kicking.
Additionally, I watched competitors sell to People Ops teams at tech companies, which made perfect sense based on what I experiencing in the market. I was talking to HR leaders at "normal" companies (outside of tech) and realized that the market for these HR 2.0 tools was much smaller than it appeared.
I came to the conclusion that the market was forward thinking tech companies and that if I wanted to grow the company in its current state, I'd need to compete directly with well-funded VC-backed startups that were all fighting with each other over a small piece of pie.
The nail in the coffin for me was seeing how certain HR teams used the software on a day-to-day basis.
Instead of using Friday as a tool to continuously improve aspects of the company (involving the exec team to make changes and iterate), some customers used the tool as a stick to beat employees with.
I started to call these HR 2.0 tools "employee oversight software." It's what happens when really honest feedback/insights rolls up to an individual (or a team) and no changes are made.
We consistently saw half as much usage by organizations where the product was rolled out by HR teams. It was like people didn't trust them, so they didn't use the tool. After all, they could see all the activity.
I knew it was a matter of time until my customers started churning due to lack of usage. I would need to modify the software or see revenue decrease.
I watched competitors continually add new features to their platforms. I was convinced this was because employees weren't using the product regularly.
I talked with some of their customers and they validated my assumption, saying things like:
"My team uses [insert tool name] when they think they are in trouble"
Instead of taking a step back and re-evaluating things, these VC-funded startups had doubled-down too quickly. They couldn't pivot now. They added more features to mask the reality that the core product wasn't being used regularly.
To be fair to these startups, many of them are doing well. I just felt like I couldn't actually make a dent in the problem by building and selling to HR. It felt like a bandaid for a deeper organizational "wound." I may be right, I may be wrong.
The bigger opportunity comes into view (January 2019)
At the time, I was struggling to figure out what I should do next. It felt like there was a bigger opportunity, but I couldn't put my finger on it. Here are three scenarios that laid a foundation for becoming a VC-backed startup vs. continuing to bootstrap.
Part #1 - my personal experience
I was working remotely at the time. I have worked remotely for several years, but this one was different. The company was great and I really liked the CEO, but I felt very disconnected from the rest of the company. Additionally, I didn't think they did a very good job communicating internally. Examples:
- I felt like I spent way too much time in poorly run, information-sharing meetings (status updates, etc)
- I felt disconnected from my co-workers as I didn't really know them
- I was constantly repeating what I was working on in meetings.
- I had to fill several MS Docs about what my team had accomplished. I was fine with reporting on my work, but I disliked the process and oftentimes forgot to fill it out.
Part #2 - my mentor's experience
Additionally, my mentor (who is now an investor and owns a non-trivial amount of the company) started using Friday with the 200 people that rolled up to him.
He was the COO at his company, but HR didn't report to him. They had recently rolled out Reflektive (yet another HR 2.0 vendor) and they were required to use it for quarterly reviews. He strongly disliked Reflektive and no one on his team used it.
My mentor used Friday completely differently than our HR customers. It was like a digital skip-level meeting for him and he'd reply directly to individual contributors and make sure they felt heard. His group used the tool so much that HR freaked out and had the IT department shut it down, citing that we weren't GDPR compliant.
This made me realize how who uses your product matters just as much as the product you build.
Part #3 - our best customer's experience
These first two experiences were anecdotal. I then looked at our best customers that were using the product the most and noticed a theme:
- There were distributed and didn't all work in the same location
- There were using the tool to keep each other in the loop on what was going on. While they still used the tool for employee <-> manager conversations, they also used it for general "status reporting"
The "eureka" moment and the formation of something new (February 2019)
Those three experiences merged together and formed the foundation for Friday as it stands today. It was based around this question:
"What if, instead of forcing customers to use the product for employee <-> manager communication, we built a general purpose tool that allowed teams and companies to create effective communication habits so information and updates flow to the right people at the right time?"
This tool would complement and integrate with Slack and be an abstraction layer of sorts for what was going on. Instead of sifting through project management tools or Slack, you could jump into Friday to see what was going on. It would be a tool that increases transparency for teams. It would also be completely customizable, so it instead of trying to create a new behavior at work, it could be molded to an existing cadence.
I was re-energized around this idea. This was a product I desperately wanted as a remote employee. I did some research and to my surprise, leading distributed teams were all cobbling together their own internal tooling to try to solve this problem:
- Zapier has a tool called Async
- Stripe built an "intranet" called Home
- Automattic has P2
Additionally, a good friend and former coworker was laid off and was looking for contract work. He is one of the most talented frontend developers who has a good eye for design. I had him start helping as much as I could afford. This re-energized me as I enjoyed working with him at a previous company. He know works FT on Friday.
Money doesn't grow on trees (Feb-April 2019)
At this point we had a product that was useful, but we had a bloated codebase and if we wanted to pursue this new idea, we'd need to rebuild the software. It wouldn't be cheap, especially to do it right. At this point, Friday looked like a side project. The design was mediocre and not compelling at all.
I spent some time and did diligence with some of the new "funding for bootstrappers" firms that have popped up in the past year. I loved this idea and was even accepted into one of the accelerators, but I knew we would need more cash to truly rebuild Friday into what I thought it could be. I knew that ~$120k wouldn't go far enough.
We'd need at least $300k to do this right.
I declined the invitation and funding from accelerator and determined that we'd try to raise $500k or so from angels and whoever got excited about the idea of flexible communication software for distributed teams.
The seed grants lifeline (May-Aug 2019)
In the meantime, we pursued non-dilutive seed grants to help pay the engineering bill. What are those? Let me explain.
I live here in Portland, Maine and there's a state-run program that will offer grants to businesses that show potential to scale and provide jobs in the area. It's a way to jumpstart economic activity here in Maine.
These seed grants are non-dilutive, but require a cash and time match. I was able to take cashflow from the business and "won" about $50k in matching funds to help pay for the dev cost over the Summer of 2019.
This was a lifeline for us, as it turns out fundraising takes longer that you expect, especially if you don't fit the VC mold.
The fundraising grind (May-September 2019)
I started having meetings with potential angel investors and even some early stage firms in Boston and beyond. I thought it would be easier to raise money because of the past.
I told them about Friday and how I bootstrapped it to over $100k on nights/weekends, which allowed us to discover this bigger opportunity that we wanted to pursue with the funds. In many ways, this would be a product pivot, but we'd be able to keep a decent portion of our existing customer base. We knew we'd churn out some customers (HR) in the process, but that was a risk we'd be willing to take.
At a high-level, here's what happened:
- They asked me why I wasn't full-time on the company. I told them I had a family and a newborn son. Bad answer. I should have been full-time on the business.
- They would try the product and it was mediocre. The product wasn't very good because we were in the process of rebuilding it and turning it from an HR tool into a business productivity tool. VCs run away from HR tools because of all the reasons I learned the hard way. We were telling one story, but the current product told another story.
- I didn't do a good job selling the vision. This product didn't fit neatly into an existing category, so it was difficult for me to explain the benefits.
In other words, I was setting off a ton of red flags and I didn't match the pattern. Fortunately, my mentor/business partner was able to help us raise about $150k from angels, which gave us just enough runway to keep working.
Finally full-time (October 2019)
With $175k in the bank, I decided I had to jump in full-time, but I wasn't sure when. The new Friday product was almost ready. It wasn't great, but it was getting a lot better.
A local non-profit here in Maine was sending several startups to Techcrunch Disrupt and they picked Friday as one of the companies to go exhibit. I knew that this wouldn't generate new customers, but I might meet some interesting angel investors. This invite was my cue - I quit my day job. It was time to do Friday full-time.
My wife was not impressed because I told her I wouldn't jump in full-time until we raised at least $400k (aside - I wouldn't recommend doing this). I figured I'd go a few months without a salary while we tried to raise the rest of the pre-seed round. It wasn't ideal, but hey, you gotta do what you gotta do.
A few days before I left for TC Disrupt, I was introduced to the folks over at Underscore.vc, a Boston-based VC firm. We had a video call and I finished up thinking, "that was one of my better pitches." Looking back, it was still probably a terrible pitch.
I flew to San Francisco and was prepping for the conference when I got a call from John, the partner at Underscore. They wanted to invest a non-trivial amount of money into our round. It would give us enough runway to make a lot of product progress and we could finally start getting out in the market and prove that we had built something interesting.
A month later, the wire came in. Whew.
Current Status (October 2019 - Today)
Over the past few months we've been making a ton of progress improving the product and validating our direction. We have some wonderful people working on the business and we're starting to see the investments we've made pay off.
It was a risk to rebuild the product vs. continuing on the HR 2.0 path, but I am so happy we decided to raise funding. It may not be the right move for you, but it was the right move for us.
The biggest risk for me was building a company that I didn't like. I've met many founders who are burned out after their product morphs to something different.
Now, Friday is a product that I use all the time to solve my own personal pain working remotely; it makes my work life much better. I especially love the fact that the product keeps me from spending my day in sitting in boring meetings, so I can write lengthy blog posts like this one.
At this point, we are officially on the VC track, but that doesn't mean you throw out all the lessons you learned bootstrapping.
Speaking of lessons learned, you can read more of this story in the next post where I share all the lessons I've learned and how I would start a business today. My hope is that this post gives you context for the more actionable advice in the next post.