Behind the scenes #2: The first all-nighter at a calm company
Are we failing at being calm? No, we are not.
In this issue:
The power of identity — we didn’t realize how important a logo and a name would be to us personally!
Can a calm company do all-nighters? — our take on pulling all-nighters at an otherwise calm company.
We launched Metacast in closed beta — yep, we’ve shipped it on Monday, August 21! Read on to learn how we manage the beta.
The Google woes — we got hit by a regression in Flutter that jeopardized the beta launch. Hard decisions had to be made.
Latest podcast episode: Ep. 32 - Creating a niche of your own with Corey Quinn
Subscribe and read on. If you know someone who will enjoy this, please forward the email!
Behind the scenes, vol. 2
If you’re new here, read Behind the Scenes vol. 1 to get some context about who we are and what we’re doing.
The super compressed version is that we’re building a podcast app and want to create some social media following ahead of the launch. Instagram and TikTok don’t work well for our
age type of content. Facebook is dead. Reddit is revolting. LinkedIn’s feed is too algorithmic to be good… So we’re going all-in on our newsletter, podcast, and YouTube channel where we document our journey as founders.
If you like reading these weekly updates, please do us a favor — forward the newsletter to someone who might like it.
When we grow up and become a successful business, we’ll write a book about how we knew we were right all along because we’re super talented and smart, knew how to delegate to the best team ever, and all the other self-congratulatory stuff you find in founder memoirs. We’ll wrap the story into the classic hero’s journey arc, so it’s dramatic, engaging, and drives many sales of the book.
I don’t believe in recording stories in retrospect in a coherent narrative. So, we’re documenting events as they are happening. Later on, we will copy-paste these newsletters into a book and create a unique by-product from our founders’ journey.
In all seriousness, this diary is a lot of fun to write. It’s cathartic and therapeutic for me personally and it helps us keep ourselves honest about the journey. We have no idea where we’ll end up with Metacast. All we know is that our lives will never be the same and it’ll be a lot of fun to look back into this newsletter and reminisce in the memories.
Ok, so what have we been up to since the last newsletter?
The power of identity
We’ve been using our own app to listen to podcasts for a couple of months now. It was code-named the “OrcaPod.” In a typical Amazon fashion, Arnab came up with a smart code-name based on an animal species that lives in pods, communicates through casting sounds, and is smart af. Orcas are also Arnab’s favorite animals.
Oh, whale. Killer name, isn’t it?
We didn’t think much of the code name and the logo we generated in some free logo-generating tool. We rolled up our sleeves and kept building the app. However, little did we know how much the identity mattered…
As we were getting ready to start a closed beta, we renamed the app to Metacast, changed our bundle names in the app stores, etc. And most importantly, we changed the logo.
Holly molly, did it make a difference!
Both of us started to identify with the app a lot more. We felt immense pride of having built something valuable that we both enjoy using and will soon ship into the world. The moment we came up with the logo (took literally 15 minutes in Canva, lol), our personal identities became one with the app we’re building.
The code-named OrcaPod thingy became the real Metacast thing. The thing we’ve sacrificed so much for has become undeniably real, almost physically so.
Can a calm company do all-nighters?
We set out to build a "calm" company — a type of business that doesn’t pull all-nighters just because “we’ve gotta win,” “that’s how startups are run,” ego, insecurities, or <fill in the blank>.
“Ferociously non-calm companies push when must they not.”
— Teachings of Yoda
As family men, we believe in proper rest, sleep, and quality time with our wives and kids. This said, we were so close to getting our closed beta launched that we pushed very hard until we got it into the hands of the first batch of beta testers.
Besides, my family was coming back to the U.S. after a summer vacation and Arnab had a family trip scheduled to start on Monday. If we didn’t launch by August 21, we’d have pushed the closed beta by another couple of weeks because of the family time, first week of school, etc.
So, we worked like crazy for 1.5 weeks.
It wasn’t uncommon for me to receive a message from Arnab at 8am my time (Miami) when it was already 5am in Vancouver. We were sleep deprived and dizzy, yet probably the happiest professionally than we had ever been.
It might have looked like we were failing at being "calm," but there are a few distinctions between us and non-calm companies.
We don’t push for pushing’s sake. It was an important milestone and there were constraints around time that we needed to overcome. It’s not in our DNA to work like crazy.
We don’t have employees. We’re founders with highly aligned incentives. We didn’t even discuss doing all-nighters, they happened organically because they seemed like the right thing to do.
We are chilling this week. You can’t push all the time, so we gave ourselves a permission to take some rest, send kids to the first week of school, etc. The beauty of being founders is that we don’t report to anyone. We can take a break when we need it. Well, I guess that will be different when we have an actively paying user base, but we’ll enjoy the freedom for now.
The point is that we are calm in spirit yet we can push ferociously when we must.
You can read another version of this insight in my LinkedIn post.
We launched Metacast in closed beta
Yes, we did it!
On Monday, August 21, we allowlisted 10 users to onboard onto our app.
“If you're not embarrassed by the first version of your product, you've launched too late”
— Reid Hoffman, co-founder of LinkedIn
Our closed beta is missing a lot of features. Like, A LOT. In fact, it misses half of the features other podcast apps have. But it does one thing 80% well — the thing that differentiates Metacast from all other podcasting apps out there.
We believe in shipping early, so that we can validate the most important hypothesis — is it valuable?
Truth be told, we’re pretty sure it is. We have been using the app for a while and we personally find it valuable. It’s good enough validation, right?
We are convinced that we’re creating something amazing and that our fundamental assumptions about the core functionality are correct. What we don’t know is whether we got the details rights. We don’t know the edge cases that will cause failures. We don’t know if our psychology is clouded by the “founder’s syndrome” (I just made it up).
A founder is like a parent that loves their children to a fault and thinks those averagiest adolescents are the smartiest pants the world has ever seen.
The closed beta puts the app to a real test by real humans. They will push the buttons, listen to podcasts, and let us know if it’s good enough to pay for it. If it’s not worth paying for, we’ve got some serious work to do, because (surprise!) a business without revenue is not a business but a hobby project.
Here’s how we’re managing our closed beta:
The first batch is made up of trusted friends. We are shipping a version that many other developers would be embarrassed to show to others. Working with close friends helps manage expectations of the MVP’s imperfection. Even though they’re our friends, everyone has signed an NDA (we use DocuSign for e-signatures).
Users are allowlisted through TestFlight and Google Play Store. We’re using native Apple’s and Google’s developer tools to manage distribution and access to the app. It took a bit of hassle to set up but now it’s easy to get new people onboarded.
Users have to be authenticated. We don’t allow anonymous usage of the app during the beta, which helps us correlate user reports with logs and database entries. We only support sign-in with Google from the get-go because it was easiest to implement and most people have a Google account anyway.
We make it easy to submit feedback. We’ve built in a feedback button into the app, created a private Discord channel, and gave users our personal emails. Since these are our friends, I’m also cool if they ping me on messengers. We don’t want to be one of those companies that force users into a feedback collection system that makes it easy for the company but insufferable for users.
The Google woes
We’ve committed to the Google ecosystem for our app. We use Firebase because it makes building the backend a lot easier (by extension, we’re using GCP as well). We use Flutter because it allows us to build a cross-platform app with half the time spent. We use Google Workspace because it’s powerful and we’re so used to Gmail, Drive, Docs, etc.
In the last issue of this newsletter, I wrote that we had some grave problems with Google Workspace and Firebase. This week, we got blindsided by Flutter.
Here’s an anecdotal recollection of what happened:
Flutter became janky on iOS and the Flutter team rolled out a new stable version that fixed the UI issue.
We upgraded and the jank went away…
Our app started crashing on the iPhone 14 Pro but not on older iPhones. It turned out most of our beta users have iPhone 14s.
The issue was frustrating because 1) Crashlytics didn’t catch those crashes and we didn’t get any logs, 2) Arnab does not have an iPhone 14 device to test on, and 3) the issue wouldn’t reproduce on a simulator.
Eventually it came down to a binary decision:
Delay the beta until the issue is fixed.
Roll back to the previous (janky) Flutter version and start the beta anyway.
We decided to follow the old adage “perfect is the enemy of done” and shipped the version that has a bit of jank anyway. We let our users know about this in a “known bugs” section of the welcome email.
The app version we were ready to ship was v0.13 and I didn’t like the number 13 in the version number. Not that I am very superstitious, but I kind of am a little bit… Staring at 0.13 reminded me of the office building Parkview Square in Singapore where I worked for 1.5 years. It didn’t have the 13th floor.
I asked Arnab to do a fake release to make the release we ship v0.14. I knew he’d do this for me anyway, but I sweetened the deal by suggesting that v0.14 has a symbolic meaning for all that frustrating hard work that went into fixing the Flutter issue on the iPhone 14 Pro.
Latest podcast episode
Ep. 32 - Creating a niche of your own with Corey Quinn is available wherever you listen to podcasts and YouTube. We talk about Corey’s media persona, his fully-bootstrapped business, and AWS losing its customer obsession. It turned out a great episode with lots of great moments. Follow me on LinkedIn or Instagram to get the clips from the podcast in your feed.
Coming up next
The Metacast podcast episode 33 will be about The Pragmatic Podcaster book (buy it on Amazon or Gumroad). We’ll talk about the process of writing, editing, and publishing the book. The working title for the episode is “behind the covers.”
Episode 34 will probably be about all the tech we’re working in. We’ll go deeper into the woes we had to go through with Google’s products (Flutter, Firebase, GCP, Google Workspace). We’ll deprecate something at the end of the episode.
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