Thereās a saying in finances that people who arenāt responsible with their earnings lose all of their money like this:
Little by little, and then all at once.
The Best-in-Class iOS App: The Book beta launch worked a lot like that, only in a good way. Make no mistake, Iāve been building to this launch for years. It was only because of a harmonious match of finding a passion project, which was validated, built up over a number of years by establishing trust within the community that led to the $30,000 launch earnings. After all, looking at this post and thinking that I spent a few months to write a beta copy of a book to get to that number is like watching the end of a movie and thinking youāve got the whole experience.
To get here Iā¦
- Started writing a Medium blog back when Medium first launched
- Wrote tons of posts that nobody read
- Got lucky and had Chris Lattner (creator of the Swift language) share one of them
- Then went from 10 Twitter followers to a few more slowly
- Built a few apps that didnāt take, butā¦.
- Started learning how to build better ones and what it took to do that
- Kept writing and sharing about things I was learning
- Paid close attention to the apps who were doing amazing, and the talented devs behind them
- Made some friends in a great community, the iOS and indie scenes ā¤ļøš±
- Then took five years to launch my own indie app
- Built relationships in the press and learned how to market an app
- Got lucky with some Apple features and got selected as an in-store demo app
- Then it was eventually acquired
- All the while, consistently shared tips over and over about what I love most about this industry (creating a best-in-class app)
- And then decided to write a book about it!
So, long road. But thatās how I got here.
What follows are few thoughts over the early access launch. Iāll try to keep it short(ish), after all - Iāve got a book to write š. Iāll kick off with the āhowā.
The Ramp Up
Iāve already written about why I wanted to write the book, you can read that here, but once I settled on the idea I had to figure out if people would actually want this. Iāve mentioned several times in the past on this very blog that Iām an avid proponent of charging for your work. That doesnāt mean all of your work, that doesnāt mean unrealistically charging for work - it means if youāve found something thatās valuable and you enjoy working on it, by all means make some money from it. Whether itās an app, book, course, or whatever else you can think of.
But itās all for naught if folks donāt wanna pony up for it. So, how can you feel that out?
The best way to really do that, Iāve found, is to start a mailing list. To keep things lean, I didnāt register a domain or anything, I just spun up a new page with my new bestie Tailwind CSS and hung it off of this site. Itās still there, though massively changed to really just point to the domain I have now (which I only bought after I validated things). The only call to action on the page was āJoin Waitlistā, which popped up a simple ConvertKit mailing list form.
let concatenatedThoughts = """
So, learned this the hard way. Sweet Moses, if you're gonna do this make sure you have an email address that matches the domain you register the mailing list form from. In my case, at the time, I had no Swiftjective-C email address. So, nearly all of my emails - even the double opt-in! - landed in spam. Now that I have an email address under this domain, it's like all my spam problems went away over night.
"""
After I listed out the planned content (which also changed), I put out a tweet and waited to see what would happen:
šA Best-in-Class App: The Book š
— Jordan Morgan (@JordanMorgan10) February 16, 2021
It's happening, I'm making this now!
ā In-depth book covering accessibility, core iOS tech, design, user experience and more.
ā A companion app
ā Bite sized screencasts
Join the mailing list to follow along: https://t.co/Dc9AcfyUSL pic.twitter.com/S8sm1zPnNg
If you read my previous post, Iām retreading a bit here but bear with me. Sign ups started coming in, and I decided that my internal goal was 500. If I could get that many developers, designers, QA engineers or whoever interested in this, Iād do it. if it ended up being a desiccated list with no life, Iād thank myself for the time I saved not writing it and move forward. When the dust settled, I ended up with over 1,500. This had several benefits beyond simple validation. It gave me something far more powerful, the one thing we all need when it comes to side hustles: motivation.
I was off after that. I took a month to plan out the bookās content, and laid down some groundwork on how to tactfully share about it. Because Iām a nut, I made some Streaks goals to remind me:

The Prep
Fast forward a few months, and reality set in. WWDC was fast approaching, and any window for mindshare I could have before the Apple tidal wave would sweep over all of us was quickly fading. It was launch something now, or wait until after WWDC. Or, wait until everything was finished.
I quickly eliminated that last option, after taking years to ship Spend Stack, that wasnāt something I wanted to do. But here I was, with another product that could take a year to make. All of these things led to the early access, ābetaā, launch. Iāve called it a beta because the book, as you can see if you visit the landing page, is closer to versioned software than a traditional book. One of its main draws is that Iāll always update it alongside iOS, which means itāll have releases.
Regardless, to get this out I jotted down what I would need at a minimum:
- Finish the current chapter
- Proofread all that I had done
- Get together the downloadable package (the book in .mobi, .pdf. ePub, welcome .pdf, Xcode project, and community info)
- Figure out how to sell it
- Get a landing page up
- Launch it
I could, and probably will, write a whole entire post over the landing page - itās something I think is absolutely critical for these kinds of things, but for now Iāll just mention the payments part. I landed on Gumroad, which is hilarious because it was something I initially decided I wouldnāt use because I couldnāt control the look of the checkout page.
I burned what was essentially a āfull dayā of my indie dev time evaluating seemingly every option out there. Even just last week, Stripe launched their āpayments URLā which I looked at. That payments page - such eye candy! No surprise if youāve checked out their documentation pages. If they can make that pretty, itās not surprising their main product offering looks nice. Plus, it has Apple Pay, my preferred payment method.
But, to be honest, I feel like Iām the only developer this side of the Mississippi who doesnāt understand Stripe. I only wanted to use it to offer a way to download digital goods, and I couldnāt come to grips with it quickly. It makes sense why I couldnāt, taking a step back. Stripe just cares about providing a way to pay for things, not really fulfillment. I moved on, with my launch window closing, to Shopify. It was pretty but a bit pricey for my stingy pockets.
And then Gumroad comes into the picture again. It just works, so goes the saying, and it does so very easily. It takes a product, you set a price and they just do the rest. I could live with showing their U.I. modally on my landing page. So far, itās been wonderful and I have no complaints. I even read that they are adding Apple Pay in Q2 - that would be delightful!
On the day after launch, they put out a tweet over some interesting creators on their platform which I thought was a nice touch:
5: @JordanMorgan10
— Gumroad (@gumroad) May 28, 2021
Creator of āA Best-in-Class iOS App: The Complete Book Packageā
An eBook on how to create iOS apps.https://t.co/7D9xNSf2mL
Now, I just had to overcome my last major obstacle. How do I communicate the promise of this book? How do I ensure people know that itās not done and it has a long ways to go? Then, if I can do that, how do I show them that the price is worth it?
I nearly didnāt launch thinking over those things. In fact, I ended up putting the word ābetaā in almost 12 different places and the night before I pushed everything live I even changed the button from āBuyā to āBuy Betaā:

Thankfully, this never ended up being an issue. Not one single person misunderstood the purchase, the current value proposition or were lost on the promise of what it would become. That was an incredible relief. And one of the oldest rules of product really saved me here - just give early buyers a discount!
It sounds so obvious, but it works wonders for all involved. You get early payments to keep things going, they get a product they believe in quicker. Win win. For me, I set the discount at 20% (regularly priced at $100). If anything, I think I priced a bit low, but Iām not worried about tweaking things at this point. I just made sure to call it out prominently:

The Launch
The launch day was a ton of fun, I posted up at my local Starbucks on a breezy 70 degree morning with my trusted weapon of choice: Double shot espresso with a splash of almond milk.

let concatenatedThoughts = """
Yes, I put my coffee on top of my Macbook Air to snap a photo of my setup completely oblivious to the fact that one wrong move would mean my machine I absolutely needed to launch a book would've been decimated in mediocre, cheap coffee and substitute dairy product. #DoItForTheGram?
"""
The thing with these launches is - itās never about that one day. Iāve been toying with launch planning a lot, but for apps itās a lot different. Cupertino and Friends⢠wants you to reach out six weeks beforehand. So Iāve always worked on that timeline. For a book? Who knows, I was in uncharted waters. So I went with something much easier - a one week timeline:

To keep things tight, I started on Monday and launched on Thursday. The TL;DR version was basically this:
- Monday: Announce that an early access launch is coming
- Tuesday: Drop another light teaser
- Wednesday: Remind folks tomorrow is the day, get that hype train rollinā
- Thursday: Do a million launch day things, this is it š
One thing that I really loved doing was what Iāve forever more dubbed the almighty āpretweetā. In previous launches, Iāve saved the valuable launch day tweet to just one; āOkay here it is I launched X!ā But this time, I started things early and simply let people know I was about to launch, shared some behind the scenes details and nicely asked if theyād be up to share it when I did officially launch:
Iām off to Starbucks to setup my launch battle station āļø š About to put everything live for the bookās beta launch š±
— Jordan Morgan (@JordanMorgan10) May 27, 2021
Would love any help sharing it, if you feel so inclined š¤ ā¤ļø
For me, lists just keep me breathing. I canāt so much as function if I donāt have a tick-for-tack list of exactly what I want to do written down. When I do, I have clarity for my launch and I can sit back and enjoy it instead of scrambling around writing copy, remembering websites to share the news on and whatever else needs to be done. It always works for me. On launch day, I simply went down the list above and posted prewritten stuff and did what I needed to, and then sat back and took it all in.
And very humbly and graciously I can report there was a lot to take in.
I have this weird launch thing where I donāt like looking at the numbers until the next day. Call it App Store conditioning. As such, I forgot I had notifications on for Gumroad. Not even 30 seconds after I posted this launch tweet:
šš Itās beta launch time! šš
— Jordan Morgan (@JordanMorgan10) May 27, 2021
A Best-in-Class iOS App: The Book is available to buy in beta today š±š¤© š!
If you like my iOS tips, articles, Spend Stackās design, etc. - this is for you!
Grab it here with a 20% off beta discountšš¼
ĖĖĖ https://t.co/n3XBKZLwi7 ĖĖ Ė
My watch dinged:
Youāve made a sale on Gumoad for A Best-in-Class iOS App: The Book.
And then another ding. And another. I turned off notifications to stick to my traditions, but half way through the day I checked in on things and was nearly shocked to see the package selling to the tune of $13,000. My family and I are (thankfully!) extremely close, so the olā family group chat wanted an update:

It was a very validating feeling. You donāt get many launches (especially when you take forever to launch like yours truly) and not all of them work. So when they do, itās indie dev bliss. Plus, this was a book launch. There were no bugs to fix, no servers crashing or fires to put out - just replying and graciously thanking people on Twitter for sharing it, or buying it or chatting with folks popping in on the Discord server.
It was a lot of fun.
Also, if you know me, I brag about my wife a lot. Because how could I not? She takes this stuff as seriously as I do, and she offered to shoulder all of the parental morning duties for us so I could focus on getting this out the door. She always sends a sweet text too, sheās the best1:

The Takeaway
After the launch day winded down, I sat down to reflect on things. It was a great launch, but the thing I felt more than anything was gratitude. I was thankful to be building something I believed in, but even beyond that it was something that others clearly believed in, too. It reminds me of the old adage, I forget who said this2, but when it comes to business - whatās the most important thing?
The people! Itās about the people.
If you are genuine, if you show a real interest in others and show youāre making something to make their life better or inspire them, then guess what? We wonāt have to sell. Folks will happily buy. I know this because Iāve both been the buyer and the seller, happy with my choices of my own volition in either scenario. But you only get there, on either side of the coin, by building trust over time.
Do you make a product thatās an obvious quick buck, or are you aiming to make something real and lasting that goes beyond yourself?
Do you respond to the brand new indie dev asking for feedback on their first app, or do you skip past the message?
Do you celebrate other peopleās great work, or only focus on your own?
You donāt have to answer, because other people will have already answered that for you.
So, when you sell something and people buy it? You canāt fake that. You canāt force it. Either you make something people genuinely find useful and they buy it with real money, or you made something they donāt really want and they pass on it. Really no middle ground there. Iāve been on both sides, and one of them is a lot more fun.
However, more than anything, I think the sense of pride and accomplishment from making something stands out above all else. Sure, the money is great - of course it is! Itās a big factor in why I make things and decide which of them to make - but at the end of the day it will do what money always does. Get assigned to many of lifeās many asks, such as my childrenās 529s, saving for their cars, putting it into retirement, investing back into the book, etc.
The responsibility to finish this book to help my industry make better apps, no matter how many that ends up being, is something that I can really get behind and believe in.
Misc
- I guess I love Memorial Day launches. I launched Spend Stack 1.2, which topped the charts for Finance in several countries, nearly a year ago to the day. I wrote about that here.
- I still think the book āHow to Win Friends and Influence Peopleā is the most valuable book you can read about indie development.
- If youāre new to mailing lists like me, do some poking around first. I thankfully saw early on I couldnāt send to more than 1,000 people at first since I hadnāt really sent anything beforehand, so I did a āpre email emailā before the launch to validate my open rates with Mailerlite. Then, I was āverifiedā to send to more than 1,000 recipients. That wouldāve super sucked to find out on launch day since my mailing list was over 1,500 people.
- You will experience impostor syndrome and once again you will be wrong about being an impostor.
- Launching is so fun. It never, ever gets old.
- The Discord community I made for it has been a blast! I nearly didnāt do it, it was a very late addition. If youāre on the fence with making your own, well - two thumbs up from me. Discord is awesome too, I hadnāt used it previously. Plus, Slack just makes me feel like Iām at work, Geneva is a bit too new and Quill isnāt really for communities.
- If you are going to write a technical book and donāt want your code samples to come out looking like regurgitated chicken soup then save your time looking around and use Ulysses. I bounced around to about four different places to write this book, and nothing has come close to their package. I converted to an annual subscription half way through my trial, and did so happily.
- Iāve been enjoying learning more about advertising and experimenting there. Iāll tweak some Twitter ads for the book and see how they do. Or, maybe Iāll go nuts and shoot a full court buzzer beater and opt for a big name podcast or website. Iād love to benchmark how that would do, and how well I could deliver my message within those constraints. If I do, Iāll be sure to let everyone know how it went.
- If you want to maximize your return on investment with these things, tiered pricing is how you do it. I just didnāt have the time or resources to warrant that, Iām simply focused on the book.
Final Thoughts
Iāve found my people. Everyone who has bought the book wants to make incredible iOS apps. They care about the details. They want accessibility to be a focus. And they are trusting me to deliver a book to help them do that. What a huge blessing that is for me, to get to make something Iām obsessed about exploring while getting paid to do it while sharing it with like minded folks.
Thatās my dream scenario, and I canāt wait to deliver on it. If youāre thinking of launching something, Iām happy to help or lend any advice. Feel free to tweet at me on the bird app, Iād love to help.
Until next time āļø