TinyPilot: Month 16
source link: https://mtlynch.io/retrospectives/2021/11/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
The TinyPilot Cloud flop
Highlights šļø
- I announced a new product and then discovered it was a mistake.
- I simplified the TinyPilot website to focus on a single device.
- I tried taking my first real vacation from TinyPilot with mixed results.
Goal Grades šļø
At the start of each month, I declare what Iād like to accomplish. Hereās how I did against those goals:
Train local staff members to assist with customer support šļø
- Result: Local staff members are answering ~50% of support emails.
- Grade: A-
We now use HelpScout as a shared customer support queue. There are still plenty of cases where Iām the only one with the context or technical background to handle the request, but itās great to have help with the rest.
Itās also fantastic to take myself out of the critical path on time-sensitive inquiries, like when a customer places an order and then follows up quickly to tell us they entered the wrong shipping address. Before HelpScout, Iād have to ferry messages between the customer and TinyPilotās fulfillment staff, often too late. Now, the fulfillment staff members get the requests directly and can handle them without me.
Start development on a monthly service-based software complement to TinyPilot šļø
- Result: Iāve paused development after a tepid user reception.
- Grade: C-
I published a preview of a service called TinyPilot Cloud and offered signups for early access. There wasnāt enough interest from users, so Iāve paused the project for now.
Complete TinyPilotās website rebrand šļø
- Result: Weāre very close, but itās not done yet.
- Grade: B-
The rebrand is taking longer than I expected, but it should be ready in November. The new designs look really cool, so Iām eager to get them up.
TinyPilot stats šļø
Metric September 2021 October 2021 Change
Unique Visitors 9,960 6,898 -3,062 (-31%)
Total Pageviews 15,744 13,008 -2,736 (-17%)
Sales Revenue $42,234.17 $34,927.55 -$7,306.62 (-17%)
Enterprise Subscriptions $48.00 $48.00 0
Royalties $3,431.35 $6,804.53 +$3,373.18 (+98%)
Total Revenue $45,713.52 $41,780.08 -$3,933.44 (-9%)
Profit $11,713.04 $1,936.22 -$9,776.82 (-83%)
TinyPilot had a fairly strong sales month. Sales are down a bit from last month, but our European distributor doubled their sales from September, providing a nice boost.
Profits are lower than last month despite sales because my dev costs were atypically high at $11k. I also spent $5k on design consulting for the rebrand, but those costs are only ongoing for the next couple of months.
The TinyPilot Cloud flop šļø
One of the most common requests I hear from users is for access to their TinyPilot devices over the Internet. There are a few third-party solutions, but theyāre either slow or inconvenient.
Naturally, this led to the idea for TinyPilot Cloud, a paid service that offers customers simple and performant cloud access to their devices. It would be a great selling point because no other KVM over IP device offers this natively. The service fits in with TinyPilotās brand of making everything dead-simple while preserving performance and security. Best of all, it would provide a consistent stream of income, unlike the bursty nature of eCommerce.
With the open-source tools and cloud vendors available, I estimated that it would take about a month to deploy a minimum viable product of TinyPilot Cloud. I worked with other TinyPilot developers on a simple proof-of-concept implementation using Wireguard and fly.io. It was harder than I anticipated, but it worked better than any of the existing third-party cloud access solutions.
Now that we had a basic prototype, I wrote a requirements document and asked TinyPilotās senior developer to turn it into a design document. That also turned out to be more difficult than either of us expected. We had to evaluate authentication providers and map out a complex setup flow that balanced security with ease of use.
As part of the design work, TinyPilotās senior developer created screenshots to mock up the user flow. I included them in a teaser blog post that invited readers to sign up for TinyPilot Cloud early access.
A teaser blog post I published about TinyPilot Cloud.
I sent the announcement to TinyPilotās 450 mailing list subscribers. 94 of them clicked the link, which was a promising conversion rate.
After two days, only two users had signed up for the TinyPilot Cloud waitlist, and that was after sharing the post on Twitter, Reddit, and the TinyPilot user forums.
Two days after the teaser blog post, only two users had signed up for early access to TinyPilot Cloud.
Two signups were way less than I was hoping. I expected maybe 50 signups, of which 25 could turn into actual customers, so weād be starting out with ~$750/month. If only two people total were interested out of a population that actively follows TinyPilot, something was seriously wrong.
I invited the users who signed up to talk more in hopes of learning out how to find more customers like them, but they werenāt so enthusiastic. One of them never responded to my email, and the other said he signed up out of curiosity but wasnāt sure heād actually use the service.
Other users expressed concern about the cost, as $30/month for cloud access felt steep. Larger customers were less price-sensitive, but they didnāt want to expose their internal networks to an external service.
I felt discouraged and embarrassed that Iād invested so much time into something users didnāt want in the first place. All told, this project consumed six to eight person-weeks of development time. Validating customer demand before investing months into engineering is like entrepreneurship 101.
Looking back, instead of setting out to create a working product, I should have just aimed for the blog post and measured interest from there. My mistake was assuming that just because people wanted cloud access meant that theyād be willing to pay $30/month for it. The existing providers in this space offer their services free to small businesses and home users, so I think $30/month seemed surprisingly high.
For now, weāre pausing development on TinyPilot Cloud. Weāve documented our design work well, so we should be able to pick it up in a few months if we find more customers. Alternatively, we may end up publishing an open-source version of the service that customers can self-host.
Simplifying to just one product šļø
The first TinyPilot product I ever offered was the TinyPilot Hobbyist Kit. Before I had any custom hardware or cases, I offered this kit of off-the-shelf hardware that allowed customers to build a TinyPilot the same way I built my first one. As TinyPilot has evolved and Iāve added the high-end TinyPilot Voyager, I continued to offer the Hobbyist Kit for price-conscious customers.
TinyPilot Hobbyist Kit, which I stopped offering this month
I began working with a design firm in September on a rebrand for TinyPilot. When they asked me which customers TinyPilot should to appeal to, I said small-to-medium-sized businesses and tech-savvy consumers.
After that conversation, I began to wonder whether the Hobbyist Kit was hindering that goal. Seeing the TinyPilot Voyager next to a cheap DIY device might send the message that the Voyager is only a small step up from something you could build yourself.
Does the TinyPilot Voyager look cheap sitting alongside the Hobbyist Kit?
Further complicating matters, thereās been a shortage of Raspberry Pi devices. The wait time on new orders is six months or more. Itās possible that Iāll run out of Raspberry Pis before the chip shortage eases up, so it seems foolish to waste a scarce resource on my $190 product instead of my $350 product.
Halfway through the month, I retired the Hobbyist Kit from the website to focus on the Voyager:
Removing the TinyPilot Hobbyist kit from the products page
That felt nicer. If a customer wanted a KVM over IP device, the choice was unambiguous. They didnāt have to research the Hobbyist kit and Voyager and evaluate whether they were willing to pay more for a plug ān play device and higher quality video.
Then, I thought, āWhy stop there?ā Did all the other products need to be there? When customers upgrade to TinyPilot Pro, they typically purchase directly from their TinyPilot web dashboard rather than navigating the website. And I still wanted to offer the power connector for the DIY crowd, but I could do that without listing it on my main product page. At that point, I realized I didnāt even need an index page of products.
Trimming out the accessory products allowed me to focus the TinyPilot website around my flagship product: the Voyager.
The TinyPilot website now offers a single product: the Voyager
Reducing to a single product offers a lot of benefits. Thereās less complexity for customer support, it gives us more room to store inventory, and it simplifies our order fulfillment process.
Sales have been stronger since the change, but itās difficult to say whether thereās a causal connection. Thereās definitely a trend upwards after the change, but it could just be trailing effects from last monthās positive press.
Total TinyPilot sales for the last 90 days
The Voyager 2 is on track to ship in a month or two. My original plan was to sell Voyagers models 1 and 2 side-by-side and experiment with their respective pricing. Seeing how much easier it is to sell a single product, Iām probably going to phase out Voyager 1 soon after I start shipping its successor.
Taking a test vacation šļø
One of my goals for this year is to systematize enough of TinyPilotās business operations that I can take a two-week vacation. I havenāt tested that much because itās not so appealing to travel during a global pandemic. Now that vaccines have rolled out, Iāve taken a few trips.
In August, I took a three-day weekend to attend a friendās wedding. That went smoothly, but I was essentially just taking a Friday off work, so thereās very little that could have gone wrong.
This past month, I pushed my vacation a bit more. I took a five-day trip: three weekdays + a weekend. I managed to stay off of my work email for the most part, though I did scan it a few times to see if there was anything urgent. When I returned, TinyPilotās local staff had been fulfilling orders and managing inventory without any issues, but I still had 122 new emails in my work inbox. I spent three full days doing almost nothing but catching up on email, which is not so fun.
I donāt have a great plan for how to solve this. The fundamental problem is that TinyPilot as a business has so many moving parts. Thereās me, two local staff, three developers, a European distributor, a 3D-printing lab, and an electrical engineering vendor. I communicate with all of them on a weekly basis, so thatās just a lot of coordination.
I prioritize systematizing and documenting as much as possible, but there are always exceptional cases that require my attention. On top of that, there are sales inquiries and customer support requests, though the local staff is now helping to absorb some of those.
I listened to an interview with WPEngine founder Jason Cohen earlier this year where he said that part of being a successful leader is helping the people around you grow and take on more responsibility. Thatās something I took to heart, and itās my best hope of growing the business to the point where it can run without me for a few weeks. Allowing developers to review each otherās code has helped the dev team grow and achieve more autonomy. I expect to see a similar effect from integrating TinyPilotās local staff into the customer support process.
Lastly, I hope that exceptional problems become less exceptional over time. A situation typically requires my intervention because we donāt have a defined process for handling it. And we usually donāt have a process because itās never happened before. TinyPilot is still a relatively young company, so there are still lots of things weāve never seen before. The dev team only formed eight months ago, weāve only had an office for six months, and we added our first distributor only two months ago. Iām hoping the proportion of new, surprising things goes down over time so that we have a written, consistent process for handling most situations.
Legacy projects šļø
Here are some brief updates on projects that I still maintain but are not the primary focus of my development:
Is It Keto šļø
Metric September 2021 October 2021 Change
Unique Visitors 23,618 20,321 -3,297 (-14%)
Total Pageviews 56,246 47,487 -8,759 (-16%)
Domain Rating (Ahrefs) 11.0 11.0 0
AdSense Revenue $264.63 $230.64 -$33.99 (-13%)
Amazon Affiliate Revenue $77.42 $27.76 -$49.66 (-64%)
Total Revenue $342.05 $258.40 -$83.65 (-24%)
Is It Keto continues its slow decline, as competing sites outperform it in search results. Itās a shame, but itās not worth it for me to shift focus from TinyPilot.
Hit the Front Page of Hacker News šļø
Metric September 2021 October 2021 Change
Unique Visitors 128 100 -28 (-22%)
Gumroad Revenue $189.14 $75.27 -$113.87 (-60%)
Blogging for Devs Revenue $27.30 $0.00 -$27.30 (-100%)
Total Revenue $216.44 $75.27 -$141.17 (-65%)
I havenāt done anything to promote my blogging course, but a couple of people purchased it last month. At the last indie founder meetup I co-hosted, one of the attendees had watched my course, so it was cool to meet a student in real life for the first time.
Zestful šļø
Metric September 2021 October 2021 Change
Unique Visitors 596 613 +17 (+3%)
Total Pageviews 1,512 1,426 -86 (-6%)
RapidAPI Revenue $185.12 $99.74 -$85.38 (-46%)
Total Revenue $185.12 $99.74 -$85.38 (-46%)
Zestful keeps doing its thing in the background. Itās had a good run these past few months with $100-600/month in revenue. I suspect that the sales are coming from users who are doing bulk parsing rather than clients with recurring needs, but itās been a nice bump in revenue.
The person who expressed interest in acquiring Zestful stopped following up and hasnāt replied to my emails, so I think that deal is dead.
Wrap up šļø
What got done? šļø
- Integrated local staff into the customer support workflows.
- Paused development on TinyPilot Cloud.
- Retired the TinyPilot Hobbyist Kit and focused the site around the Voyager.
- Published episode 1 of āDeliberate Programming."
- I started a project about looking for ways of applying deliberate practice to software development.
Lessons learned šļø
- Validate your product early.
- Wanting a feature or product is different than being willing to pay for it.
- If I want to be able to take vacations, I have to help my teammates grow.
- The more responsibility that my teammates take on, the less reliant the business is on me personally for day-to-day operations.
Goals for next month šļø
- Complete TinyPilotās website rebrand.
- Prepare for Voyager 2 launch as soon as the hardware is ready.
- Hire a marketing firm or freelancer to help TinyPilot explore paid marketing channels.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK