Skip to main content
Business LibreTexts

1.7: Chapter 6 When Not to Quit

  • Page ID
    66184
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    alt

    When Not to Quit

    —or—
    How I Made a 5,000% Return
    on a Fancy Two-Day Vacation

    IN LATE 2013, I WAS facing a bit of a crisis. I had just launched Toofr a few months earlier and it was failing.

    Earlier that year, I found a way to automate email guessing using a public but hidden data source provided by a large social network. It worked amazingly well. It was fast, the data was terrific, and best of all, it was free.

    But there was a catch. It was free because it wasn’t supposed to be used for guessing emails.

    Unfortunately, I wasn’t alone in leveraging this harmless little hack. On November 23, 2013, another programmer wrote about it. About a week later, the source was effectively shut off and Toofr’s primary data stream was gone.

    My customers complained about poor data quality and many of them had been referred by my friends in the sales community. These friends caught wind of the problems and kept pinging me, asking what was going on. My delay in fixing the problem was making them look bad.

    I was working full-time on Scripted so I stayed up late and worked all of the following weekend trying to get the source to work again. In the meantime, I fell back to my pattern database but it was early and the data wasn’t great yet. As December 2013 progressed, I felt increasingly guilty for continuing to charge my customers the same rates for an inferior product. They knew it too. The cancellations were piling up.

    My wife and I planned to visit her family that December and take a two-day vacation at a nice resort south of Los Angeles. It was our third “personal retreat” where we’d go together to a fancy resort but maintain completely independent schedules. We might overlap for meals and drinks, but that’s it. I would be free to work and stay up as late as I wanted, geeking out and tackling these Toofr problems. Likewise she could read, lie by the pool, and do her own projects. The idea was to give each other the creative freedom to do anything!

    This retreat timing was perfect because I had a feeling that if I could just focus on the data source problem for 36 hours straight then I’d find a solution. I tried and failed to do it in the four-hour increments I was piecing together, so I used Scripted’s winter shutdown to visit family and resolve my growing Toofr headache.

    I remember sitting in the large, beautiful veranda overlooking the ocean and giving myself an ultimatum. If I couldn’t get Toofr back on track and feel proud of my product, then I’d fold it up and dissolve the company. I’d have to do it before the year was up so I could save the additional $800 California LLC tax filing fee. I had these two days and then another two weeks to make the final decision.

    With that singular focus in mind, I got to work.

    My first plan of attack, admittedly, was to find a way back into the original data source. I tried all my tricks and made some progress but I couldn’t get it to scale. I tossed out that approach.

    The next morning I began to research other companies that provided this data for a fee. I looked at all of them, read their documentation and pricing, and extrapolated what their cost would be and what I might charge my customers. I was worried, again, that my particular use case might be against their terms of use. Ignorance is bliss, I figured, and didn’t look to find out. I figured my volume would be too low to matter anyway.

    I found a couple of good candidates and signed up for them, put down my credit card, and deployed my code on my last night of the retreat. I slept nervously that night, wondering if Toofr would still be functioning the next morning.

    For the most part, it worked. Toofr was stable and my customers were happy again. I felt better about continuing to charge them. Toofr had new life. The end of December came and went and I decided not to shut it down.

    Over the following months, I continued to fret about Toofr being blocked by either or both of the data vendors. I was paying for the data, and everything was above board, but if they looked at the way I was using it and disapproved, I might lose access. It didn’t keep me up at night or distract from Scripted, but the concern was always there.

    Toofr continued to grow in 2013 and broke $50,000 in 2014. The year 2015 was huge as Toofr nearly tripled in revenue. I credit that growth to a lot of power users speaking up and boosting word of mouth referrals. It slowed down the following year, 2016, but still grew a respectable 35 percent.

    I was spending several thousand dollars each month on data throughout 2015 and 2016, and as I’d feared, my account eventually did get flagged. My vendors asked to speak to me and I scheduled a call and confessed.

    Instead of shutting me down, though, they increased my fees and made me sign annual licenses. Relieved to not face yet another data crisis, I obliged. It’s been nice and steady and stable ever since.

    To sum it up, in its first year Toofr made less than $3,000. When I spent that weekend at the St. Regis working to fix it, that’s all I knew. Toofr made some money, and it might make a lot more, but it also might make nothing. Going into that weekend, Toofr really wasn’t working. I had unhappy customers and a lot of unwanted stress.

    If I shut it down that month, I’d save $800 in tax filing fees the following year. That’s a lot of money, so it was tempting to just kill it.

    As it turned out, killing it would have been a very, very costly mistake. Toofr’s lifetime revenue now is over $550,000. Those two nights at the St. Regis, plus meals and drinks, were about $1,100. That’s a 5,000% return on investment!

    I’ve been taking personal retreats each December ever since and it goes to show that yes, sometimes your side project is a pain in the you-know-what. It’s bound to happen, but you can still deal with it without impacting your day job.


    This page titled 1.7: Chapter 6 When Not to Quit is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Ryan Buckley.

    • Was this article helpful?