Today is the 1 year anniversary of a tweet that got me started on Tellspin.
Ahh, or the problem is that your backend is broken. Getting errors with auth.— Rob Rodrigues (@annihilist) December 7, 2020
One year later, Tellspin has transformed into a small business
- $2,033.13 MRR
- 100 customers
- 410 emails with users (yes, I counted)
The honest truth is Tellspin was only a landing page when Rob tweeted me. In fact, I even missed the tweet and Rob found my email somehow (I share the whole story below). His email got me to work on Tellspin.
I owe everything to my customers who “forced” me to make Tellspin with feedback emails, feature requests, or bug reports.
Here’s a look into how it happened.
Since I had a lot of previous failures under my belt I decided to do everything opposite with Tellspin.
I used to build instead of finding a problem. I used to do no marketing or talking to people. I used to make the landing page after the product was finished. To do the opposite with Tellpin, I wanted to think of a problem and make a landing page.
The problem I chose was one I had seen at 3 of my previous jobs. There was always a support channel in Slack that was out of control. At each job, I had made a simple solution to help my team rotate who should watch it. It seemed like a good enough choice.
After I chose the problem to work on, it took all my willpower to resist the urge to code. It’s what I knew how to do and what I was good at, but I really think it’s the main reason my other projects failed.
It took me 2 months, but one day I finally sat down and polished up my landing page.
Since I knew it would be a Slack app, I put an “Add to Slack” button on there. The button didn’t work, it just threw an error.
I moved on to another project, I didn’t think Tellspin would go anywhere, so I just left it as that, a landing page.
I spent the next 8 months exploring another business idea with my friends. In that time, we launched, got a few users, but decided to retire the project.
I didn’t really think about Tellspin at all. I didn’t tell anyone about it. The only place I posted it was on Indie Hackers to get some landing page feedback.
December is when everything changed. Rob sent me an email
“Hey there, I’m excited to try out Tellspin, but when I try to add the app I get the following.”
I knew exactly why he couldn’t get it to run, it didn’t exist yet. As he found out the “Add to Slack” button just threw an error when clicked.
To make it even more interesting, apparently I hadn’t left any contact information on Tellspin’s landing page. He somehow found my email and contacted me that way (it wasn’t until March I discovered he had also tweeted me, see below).
Whoops just saw this. I'm glad you found my email back then 😃— Dan Willoughby (@plainice_) March 17, 2021
Since I had made a rough start of the product before at previous jobs, I knew a lot of the Slack APIs, and what I’d need to ship the thing.
I hard coded everything. The product was so minimal it almost felt like a joke. I thought there’s no way this will be useful. I finished it in about 5 hours.
The next day, I told Rob I knew the source of the problem (I didn’t say it didn’t exist yet) and that it was fixed. He should try again.
He started using it. His next email was some feedback.
“Just got it going, I had a question. It looks like it’s hard coded to @devs.”
He wanted to change the hardcoded name. I said renaming it was on the roadmap, but offered to hardcode it to something else. He said he was okay to wait.
A week later, I received another email.
“I have understood that you are the developers behind Tellspin Slack app as well. I would be really interested in using Tellspin, but for some reason I am unable to run it in our Slack environment.”
My landing page still didn’t have any contact information, this user contacted me via one of my failed project’s support emails.
It was the error I had just fixed a week prior. I immediately responded asking them to try again. They did and said it was fixed and mentioned they had tried it 2 weeks ago and it didn’t work. Hmm… I wonder why ;)
After receiving 2 emails from customers, for a product that had no contact information, I decided that was enough validation for me to at least get started.
I had taken some time off for Christmas break, so I worked 4 days entirely on Tellspin.
I had sent tons of emails back and forth with my first two users and was working on the features they mentioned they needed. It was a lot of work, but my goal was to try and submit before the end of the week.
At the end of the push, I believe it was just before midnight on Saturday, I submitted it to the Slack app store. I really didn’t know what to expect. It was exciting that people were already using my app before I even published it.
It took a month for Slack to send back feedback (they had 2 weeks off for Christmas).
I spent nights and a weekend addressing their feedback and resubmitted. It took another 2 weeks before my app got approved. It was released into the Slack app store around Feb 12, 2021.
After publishing on the Slack app store, it didn’t take long for another customer to request a feature.
They wanted to disable weekends.
We sent a few emails back and forth until I understood what they were trying to do. At the end of our exchange, to my surprise, they sent me a large email of 10 additional items they either found confusing or would help make Tellspin better. The email chain ended up being 40 emails long.
Also, I know you’re on indie dev, so some additional feedback on your Slack UI
- Customer who left me lots of feedback
As soon as I finished one customer’s request, another email would come in asking for something else or saying they found a bug.
I felt like I could barely keep up. During the day, I worked at my day job and at night I worked on Tellspin. I worked almost every single night and half of Saturday to keep my head above water for 2 weeks.
My wife was 9 months pregnant and it just so happened that some of my initial user’s 2-week trials were set to expire 2 days after her due date.
Since I was still working full-time, I hadn’t had time to implement the cut-off feature and we were already on our way to the hospital. What was I going to do now? The users were going to think they can use it for free.
The birth went extremely well. A joyous baby joined our family.
While sitting in the recovery room, while my wife was sleeping, and our new baby was with the nurse being tested, I found myself with extra time (covid restrictions limited visitors). I decided to do what any normal person would do, work on my side project ;).
I knew I probably only had an hour, so I wrote code as fast as I possibly could. I didn’t even have time to test it fully before deploying and calling it good.
I started my paternity leave Thursday, added trial cut-off on Friday, but no one upgraded that weekend.
On Monday, while I was taking my two older kids to the park to help with our new baby, I received an email from Stripe. First paying customer!!!!
There’s nothing like the thrill of a first paying customer. I kept working on Tellspin, during my two weeks of paternity leave. It was nice to be around with my family, but when everyone was sleeping or busy, I’d keep working on things my customers needed.
Finding time to work on Tellspin was a real struggle. I took every opportunity without sacrificing too much valuable time with my family.
I still mainly burned the midnight oil and worked half Saturdays, but on one particular Saturday, we had planned to go to a movie. That same week I had promised a customer I’d have a bug fixed by Monday. The only time I would have would be during the 40 minute drive.
While my wife was driving, I tethered my laptop and narrowed down the issue. As we were pulling up I was finalizing a fix and deployed it.
At this moment, a quote I had always heard came true.
You don’t find time. You make it.
Surprisingly one of my blog posts about why interruptions are frustrating to developers, hit the front page of hackernews.
It drove about 7K visitors over the next few days.
The other surprising metric was it didn’t drive any more sign-ups. I think I got 4 which was a record for a day, but not a life changing amount. However, what it did do for me was get my website a bunch of backlinks.
The next 3 months, I balanced fixing bugs while working at my day job.
I was on the content hamster wheel, always thinking I needed to write more blog posts to drive traffic. This led me to overthink everything, I had the hardest time doing any writing. However, I still managed to push out about 1 post a month.
A combination of organic traffic and Slack app store installs slowly grew Tellspin.
Around the end of July, Tellspin really started to stabilize. I was getting less and less emails about bugs and more emails requesting features. Meanwhile, I was getting a pretty consistent trial conversion.
September was really exciting.
Tellspin got featured by Slack which drove a high amount of sign-ups.
I had also increased my prices and remade my landing page.
The combination of the three made it so I added $600 MRR in one month. I had grown about 60% that month, pushing Tellspin across the $1K MRR mark. Lots of things were going right.
The high of September was followed by a really low October. For most of October, I didn’t work on Tellspin at all. I didn’t even follow up with customers I had promised features.
I thought I was doing good, but it all became too much. I couldn’t get myself to get started on pretty much everything. Blog posts were a huge hurdle, adding features felt like climbing a mountain.
I was lucky enough that my day job had became very minimal stress, but I still couldn’t get myself to work on Tellspin.
In hindsight, I was setting my expectations so high (make Tellspin ramen profitable ASAP), it drove me to burnout.
I spent some time thinking about why I wanted to work on Tellspin.
Up to this point, I hadn’t really thought about it that much. Week after week, it was handling customer’s issues/requests, mixed in with my day job, which were both shuffled in with family time with my 3 young kids.
I needed a reason I could get behind that would keep me going.
I decided, I’m working on Tellspin to challenge myself. Plain and simple. If it’s not growing or customers need something done, that brings in more unique challenges to tackle. Thinking about Tellspin this way has really helped me focus and keep motivation.
Making it become my full-time job someday as a secondary goal has relieved a bunch of the pressure that led me to burn out in October.
Starting out almost a year ago, I thought it’d be amazing to get 5 paying customers. After I acheived that I thought reaching $1K MRR would be an enormous task.
I not only reached those goals, I completely shattered them. Tellspin crossed $2K MRR on the first day of December.
I’m excited for the challenges that 2022 will bring and plan to keep allowing my customers to “force” me to work on Tellspin.