Behind the scenes #3: Shipping daily, the ultimate productivity hack
... and also closed beta and social media updates
In this issue:
Closed beta update. Two weeks ago we launched Metacast in closed beta. Here’s how we run the beta and what we’ve learned about the process so far.
Shipping daily is liberating. Say it ain’t so? This is how we’re doing CI/CD for our mobile app.
Social media frustration & redemption. After months of despair, we seem to have found a playbook that might help us grow organically on LinkedIn when we ship.
Subscribe and read on. If you know someone who will enjoy this, please forward the email!
Behind the scenes, vol. 3
TLDR: We’re co-founders of Metacast, a bootstrapped tech startup that builds a new-of-a-kind podcast app that we recently launched in closed beta. Arnab Deka is the chief coding ninja (can’t believe I’m saying this in writing) and I’m Ilya Bezdelev, the everything-that’s-not-coding chief. Truth be told though, there are no “chiefs” in our little company. We are doers who love to get their hands dirty and cook some cool software. We’re rather “chefs.”
We aspire to build a “calm” company and we love sharing how that goes in a “build in public” way. This newsletter and our Behind the Scenes podcast is where we share our entrepreneurial journey with anyone who’s into storytelling about entrepreneurship and product development.
So, what have we been up to since the last newsletter?
Closed beta update
On a hot and humid Monday, August 21, after a grueling couple of weeks, we shipped Metacast in closed beta (read about it in vol. 2). The beta is under an NDA but we’ll try to share some learnings without disclosing the specifics.
Here’s how we manage the beta:
NDA signing. We found an NDA template that works for our use case and send it to new participants before they get access to the app. Originally, we used DocuSign’s free trial but I found it to be too expensive for our needs — it’s not that $15/mo is a lot of money but small subscription fees accumulate (listen to our The SaaS Subscription Pandemic episode) and we don’t believe spending a dollar or even more per signed NDA is worth it. So, we moved our NDA workflow to a simple Google Form, which also allows us to collect more info about the user in addition to the NDA signature.
App distribution. We’ve created closed beta tester groups in Apple App Store Connect and Google Play Console where we add new users to control app access and distribution. So far, I’ve been doing it manually and it’s tedious af. As of next batch, I’m going to write a little automation in Google Sheets to get a CSV that can be imported in a few clicks.
Internal testing. We distribute our app to app stores using a CI/CD pipeline in Tramline. All we have to do is merge pull requests in GitHub and voila — the app gets built and uploaded to Apple and Google. There it first gets to our “internal testing” stage that only Arnab and I have access to. Once we’re happy with the build, we’re manually promoting it to closed beta users.
Communication. When we’re adding new users, we send them a welcome email. It’s a template in Google Docs that we paste to an email and add user emails to BCC. We also created Google Groups for iOS and Android users, so we can send bulk updates about new functionality, bugfixes, etc. to everyone.
As of today, we’ve got 15 allowlisted users of which about half use the app regularly. Here are some of our insights from the beta so far:
Early beta is high-touch. We’ve intentionally created multiple feedback channels — we’ve got a Discord server and an in-app feedback button. We gave users our emails and those who know us personally can also DM us on messengers. It’d have been so much easier if all users used the same feedback channel but we personally dislike it when companies force us into their way of doing things, so we turned the table and made it user-first. Our users send us feedback in all channels, so the strategy of removing the friction is working.
Negative feedback is better than no feedback. I knew this all along of course but I felt it differently this time compared to my previous product launches. When people say something is not working or could be better, etc., my ego is completely checked out at the door — I am delighted to hear their feedback! I’d rather have people say “I don’t like it, fix it” than have them be like “meh” and walk away.
Discord rocks. I really like how Discord allows us to build a sense of camaraderie between app creators and users. We’ll use it more and will eventually create a public channel for the app when it’s launched.
Get weekly stories from the trenches of building a startup from scratch
Shipping daily is liberating
Early on, we decided we must be pragmatic about our processes. One of the first decisions we had to make was whether to use CI/CD or not. We knew almost nothing about operating a mobile app but we thought we should give it a try to avoid being mired in manual builds, uploading files, and baby-sitting app store consoles.
It’s easy to be cheap in a startup. Just do everything manually because there’s no time, no money, etc. But the fallacy here is that manual processes are not free. They drain time and, even more importantly, they drain energy. Every minute you spend uploading an apk file to Google Play Console is the minute you do not spend building the product.
There’s also the context switching cost that’s hard to quantify, but I’d say that for every distraction that causes you to get out of a flow state, you lose at least two productive hours of work. Engineering is a non-linear activity — the state of flow supercharges the coding process and bends time such that you can achieve 10x more in the same time period.
“Babysitting a deployment” is the opposite of “supercharging.” Idle time watching a process you have no control over un-charges your inner 10x engineer into mediocrity.
We use Tramline and Bitrise and our builds are triggered nightly if there are code changes in GitHub. It feels so liberating to just merge a PR and wake up to a new version of the app on your phone. We’ve eliminated busywork and improved our productivity by investing in the pipeline upfront.
Social media frustration and redemption
For the last few months, we’ve been trying to break through on social media. We’d prefer to grow our app organically to keep the user acquisition cost low (or even free) and social media has the potential to be a free distribution channel.
I’ve done this once before on Instagram (albeit, in another language), so I know how valuable a loyal community could be — they’re people who are interested in what you do and are ready to help when you need it. First, you give them value and at some point the value starts to flow both ways. It’s amazing when it happens.
Our strategy initially was to grow into “thought leaders” in podcasting space. That’s why the original name of the podcast and this newsletter was “Metacast: the podcast about podcasting.” We invited podcasters and kept our topics to podcasting. However, that didn’t work out.
I think we failed to gain much traction for three reasons — a) we’re not known in podcasting, b) we’re not doing anything in the podcasting space publicly to earn any credibility and c) podcasters are busy creating their own content and they don’t listen to podcasts about podcasts.
Later, we decided to reposition our podcast and newsletter into “build in public” storytelling from the trenches of bootstrapping a startup. That was based on the feedback we received from our most dedicated listeners — they didn’t care about podcasting, but our entrepreneurial journey resonated with them.
We got some good success on social media with the Jason Fried episode. A 1 minute clip with Jason got 20k impressions on LinkedIn and was watched for ~32 hours. That was cool but it didn’t really move the needle for our podcast or newsletter subscriber bases.
We had one moderately successful YouTube Short clip with Corey Quinn that got 1.4k views organically and was watched 8 hours. But again, no impact beyond the views.
We’ve also done TikTok, Instagram, X-Twitter and Threads (both still exist as of this writing), but the numbers have been minuscule and there was no impact at all.
Last week, I did what I previously did on Instagram on my personal account. I drew a picture of an “octodragon” and wrote a short LinkedIn post about why UX at big companies is so bad. The post got some traction with 70k impressions and gained me some followers.
This week, I posted another one and it became a runaway hit with 715k impressions, gaining me 4k new followers as of this writing.
I expected to get some traction because I knew the post was good but not to that extent. The virality of the post was quite humbling.
Here’s why I think it worked so well.
The picture drew attention and keywords Google, Amazon and “culture” piqued interest of people scrolling the feed. I also started the post with “I spent 5 years at AWS and 3 years at Google,” which gave it instant credibility. So people read it, liked it, commented on it, and reposted it.
And it just started spreading.
I got 800 connection requests on LinkedIn, over a hundred comments, some messages. I am still processing all that. I’ve never had this level of reach for my posts before. I gained an appreciation for why famous people ignored my messages on LinkedIn. It’s impossible to track requests when you get a notification every few seconds.
I’ve got more ideas and will try to replicate the success of the last post. After all those months of despair, I have a glimpse of hope that LinkedIn may become our ultimate distribution channel.
Follow me there if you haven’t already.
Latest podcast episode
The last two episodes of the “Metacast: Behind the scenes” podcast are about the process of writing The Pragmatic Podcaster book. We go into all aspects of publishing a book — ideation, drafting, editing, formatting, designing, publishing, and advertising. It’s a two part episode (ep. 33 and 34) and you can listen to it wherever you get podcasts (links to popular apps here).
Coming up next
Google one love. We love making fun of Google but we are 100% dependent on Google products for our startup. In the next newsletter, we’ll share some of the details of our tech stack and will be nice to Google for once. Our startup would not have been possible without them.
The failure of our ads campaign for the book. We ran a Google Ads campaign for a week to sell The Pragmatic Podcaster book. Made exactly zero sales with $70 spent. We’ll share our lessons next week.
Two more interviews scheduled. We have recordings with eWebinar co-founder/CEO Melissa Kwan and Wharton professor Karl Ulrich on our calendars. We’re going to talk about bootstrapping, Burning Man, and teaching entrepreneurship to MBA students. I am personally looking forward to reconnecting with Karl who was my professor at Wharton and hear again his stories about creating one of my all-time favorite products — the Xootr MG kick-scooter that I ride every day.
Support our journey
There are a few ways you can support our nascent business.
Subscribe to this newsletter
Forward this email or our podcast to a friend
Buy a The Pragmatic Podcaster book or gift it to someone!
Buy a t-shirt at our merch store