$415k Pre-Release Launch of a Developer Education Product

Joel Hooks
Joel Hooks ยท 17 December, 2022

We successfully launched a pre-release of the first installment of Matt Pocock's Total TypeScript in December 2022 with over 1200 learners and $415,000 gross sales.

How did we get there? We followed The Process ๐ŸŒ€.


#Where Total TypeScript Started

When Matt Pocock announced in early 2022 that he was working on an Advanced TypeScript course, my first thought was "Fuck, that's gonna be a banger. Wish we could work on it."

At the time our plate was full building a platform and producing Marcy Sutton's Testing Accessibility so I didn't pursue it. Fast forward to May, and Matt and I got to meet in Salt Lake City during a tech conference. It was brief, but Jason Lengstorf and I served him up a delicious smash burger.

Maybe that delicious burger w/ a side of home cooked fries really hit the spot, because a couple of weeks later Matt reached out and asked if we'd be interested in working with him on producing his Advanced TypeScript course.

The way we build educational products is a process. In fact, internally we refer to it as The Process ๐ŸŒ€โ„ข. The goal of 2022 (and 2023+) was to keep refining The Process ๐ŸŒ€. End to end. Start to finish.

This means that a new expert content partner has to fit into The Process ๐ŸŒ€, and also be willing to fully trust us and The Process ๐ŸŒ€ that we are recommending. It's a Goldilocks problem, where the partnership needs to be Just Right for us to know for sure we will be a success.

Matt and I had "good vibes" and my proposal was that we host a live workshop on Zoom around the core advanced TypeScript premise, and see how we liked working together.


#The First TypeScript Workshop

Immediately we grabbed the advancedtypescript dot com domain and started planning the workshop.

The Process ๐ŸŒ€ is iterative. We don't go through The Process ๐ŸŒ€ once end to end, we repeat The Process ๐ŸŒ€ with increasing levels of scope and context.

The landing page is a cycle of The Process ๐ŸŒ€.

The first workshop is a cycle of The Process ๐ŸŒ€.

Each cycle layers risk in a way that makes sense both for our expert partners, and our business.

In our experience, going to big too soon is a recipe for expensive disappointment and abandoned projects that often affect personal relationships, which is a worse outcome even beyond the financial loss ๐Ÿ˜ž

So we are cautious and like to take small steps.

Focusing on the workshop was the exact right scope. We sat down with Matt, discussed the contents and goals of the workshop and set a date.

Initially Matt wanted set a conservative date a couple months out, but I asked him if he'd be willing to push the deadline and shoot for the end of July instead. That's pretty tight, just a scant month to prep and SELL a workshop.

When Matt said, "let's do it." I knew we were off to a good start.

For the content side of The Process ๐ŸŒ€, Matt didn't need a lot of support. He got straight to work building the exercises and sequence that he'd present the material within a github repository, a natural environment for the TypeScript subject matter.

We'd first thought about building the landing page, because that's typical for us, but since this was an experiment, we decided to use an event ticketing service and skip any web development for now.

We wrote the page copy and set the price for a single-day (5 hour) advanced TypeScript workshop at $1200.

It would have been fun to get a "live reaction video" of Matt's response to setting that price point.

It's expensive, but that was the point. My feeling was (still is) that what Matt had to offer was a premium offer to working professional software developers that are eager to pay a grand to shortcut their learning process.

When we launched, we had an "early bird" discount that knocked 25% off the price making it $900, but anchored against the full price.

Audacious, really.

While I was fairly confident and hopeful, there's risk involved.

It fuckin' sold out. All 30 tickets.

That's all it took for Matt and I to look at each other across the digital divide and say "hell ya" in unison.

This was an early win on all fronts. If you do the math, that's a nice chunk of cash! Matt was full-steam ahead on the structured content, and we had real paying customers to cater it towards.

Fantastic, and an immediate handshake deal and agreement that we were all in on the partnership.

Matt nailed the workshop. Learners were happy. We were all ready to do the next iteration and take on the full project.

Here comes the landing page.


#It's now Total TypeScript dot Com

We liked Advanced TypeScript, but felt that it was limiting in terms of what we might want to teach. What if we wanted to have some intro content? Are these nerds gonna bust our chops on Twitter because it's labeled advanced and we had the gall to offer something for beginners? The answer is "ya, probably" so we started thinking it through and landed on Still topically focused, but now in an expanded universe that we could work with.

Nailing the vibe

The second phase of The Process ๐ŸŒ€ is the Design Phase, where we think about design in the Big D sense of Design. This includes instructional design, systems design, learner experience design, and OG course visual design.

It's critical for us that the expert partner LOVE their product and that it meshes well with their own vibe. It's hard to fake enthusiasm long-term, and setting the stage is important.

We always ask new expert partners for a mood board or visual exploration of Stuff They Like.

Off the bat, Matt gave us some images of beer cans and said "that's all I got". They were interesting graphical designs, but mostly kind of stark, maybe even brutalist. Not terribly exciting, but after watching Maggie Appleton's amazing talk about metaphors Matt was struck with the idea of "TypeScript Wizard" which is popular in the community to describe the upper levels of advanced proficiency in the TypeScript programming language.

Instead of a visual mood board, Matt let us know that he was more comfortable with a narrative mood board, and wrote this for us.

"Did you just say fuckin WIZARDS???!1!" Joel says with an excited glee.

He did, and it was on. A couple days later Michelle Holik dropped this illustration on us:

"Did somebody order vibes?"

The tone is set and Vojta Holik used that to build the landing page.

Matt said it brought tears to his eyes. If you've never welled up because somebody designed your work something incredible, it's an experience that I highly recommend.

Feels good.


#Growing the email list

With The Process ๐ŸŒ€, most of the early iterations are about proving the concept and attracting an audience that shares the product's world view.

Matt is a savvy operator and was already capturing newsletter signups with a healthy base. We migrated from his previous provider onto ConvertKit to be compatible with Skill Stack, our technical delivery platform.

We kept his homepage up and started getting the word out about Total TypeScript. Signups were brisk with dozens of people signing up every day.

People are very enthusiastic about TypeScript, and particularly something that isn't pandering to squeeze beginners for cash.

In our experience the email list is the primary driver of product launch success. There's a lot of work that goes into building a successful list, so it makes an excellent metric.

If dozens of signups a day are cool, hundreds are even cooler. Our favorite way to ramp up signups is with Amy Hoy's e-bomb format.


#The First Total TypeScript E-bomb

An e-bomb is valuable information. It takes your expertise and research, packages it up into something people can use today, and then gives it to them for free. An e-bomb is awesome and something that you can link to so people will click. It's a lead magnet.

Matt streams and makes YouTube videos, and while he was busy working on a workshop series (more on this soon) he had an idea for a long form tutorial for YouTube around the popular (and awesome) Zod library for TypeScript. My response was:

"Fuck YouTube"

Because what I wanted was something TASTY to draw people into Total TypeScript that felt like what the final product would feel like and give as an iteration on The Process ๐ŸŒ€ that would also let us start tuning Skill Stack for Total TypeScript. After some prodding and discussion Matt let me know that the primary draw to YouTube for him was ease of use, so we struck a deal. Record the video series how you want it, and we will do the rest.

A few days later, Matt linked us to a stack of mp4s and it was fully and completely on.

We were in a good spot with Skill Stack because behind the scenes we also launched Marcy Sutton's Testing Accessibility which was an end-to-end iteration of The Process ๐ŸŒ€ delivering a set of self-paced video workshops as an educational product.

Taking Matt's videos we put thought into how we could elevate the experience and give learners something more engaging and interactive. The result was problem/solution exercise pairs that include an interactive IDE between each pair to give you the opportunity to try before watching Matt solve it.

You can check out the Zod tutorial here if you're curious.

The first problem video of the Zod tutorial is free to watch, but the first solution asks for your email address and let's you know why we want it.

Can you spot the day we released the Zod Tutorial?

It worked. Just a week or so after the first "pilot" workshop we'd also launched a badass free tutorial that represented another iteration of The Process ๐ŸŒ€

It was working.


#Beginner's Learn for Free

Something we feel strongly about is providing beginner's a chance to learn for free.

We don't want to sell them hopes and dreams, we want to put a hand out to boost them up so they will feel comfortable and confident when it's time to by into the advanced content, or better yet have their employer buy it for them.

Matt and the team were busy planning the Total TypeScript self-paced product, starting as a series of live workshops with Matt (more on that below), but we were also discussing topics for more tutorials and Matt decided to do a beginner's guide to TypeScript following the same format as the Zod tutorial.

Skill Stack makes this relatively "easy" for us (it's bonkers fuckin complex ๐Ÿ˜…), even though it's still very much customer software. This next iteration gave us yet another cycle of The Process ๐ŸŒ€ to tune the experience both for learners, but the content engineers working behind the scenes to take raw videos from Matt and turn them into engaging lessons.

Beginner's TypeScript launched with an incredible reception. Another win. Wins are good.


#A full workshop series

For us the work with our expert partners is like a tennis match. They hit the ball over the net, we take it and do our thing, hit it back, repeat.

While we were working on the interactive tutorials, we were also planning a series of workshops that would represent the first self-serve product that would be sold on Total TypeScript.

Matt made a decision about the subject matter and we scoped out a set of 3 strong workshops to be sold as a bundle for $2400.

Asking people to pay $2400 for 3 single day workshops and then show up three weeks in a row to do the work is not a trivial ask.

Sold out. Another win, and now Matt had the kind of pressure he needed to sit down and build the examples and content for the live workshops.

If you've ever given a workshop you know that it's not a casual process if you want to deliver something that is effective and enjoyable. It's hard, both for the instructor and the learner and takes a ton of energy.

Now stack three full-scoped workshops delivered back to back.

It's intense.

Matt dug in and did the work. Learners were happy, and we'd fully proved the concept of the material.


#Don't Burn Out Your Partner

We wanted to launch a paid self-serve product in 2022, and honestly thought we could get the whole thing done for early December.

It was ambitious, and as we looked down the barrel of December at the end of October when the workshops were wrapped. Matt was coming off an intense gig at Vercel, and is conscious of his own (truly epic) tolerance levels for grinding out the work.

Matt recorded the first of the three workshops, and let us know he was going to take it easy and explore some YouTube formats that would compliment Total TypeScript so he didn't burn out on the project.

But we had a video workshop "in the can", a functioning platform with Skill Stack, and the ability to DO COMMERCE at our fingertips so we made the decision to run a pre-release with the first workshop ready for learners and "coming soon" on the other too.


#Pre-Releasing Total TypeScript's First Product

Traditionally I'm not a fan of pre-releases because we can suddenly find ourselves in a situation of over promising and creating external pressure to deliver, but with this context and a full workshop complete my confidence was high.

Instead of over-promising we underpromised, with a loose framing around the offer and active discouragement for signing up in many cases.

We pondered pricing and what the package might look like. I knew we wanted to keep the price higher than normal, but also in a range that would be an "instacop" for working developers that value their continued education and teams that wanted consistent baseline wizardry for their TypeScript using collaborators.

Another important aspect for me with this product was avoiding "promising the universe" of future material in any sort of subscription or tier system.

We ended up going with Total TypeScript Core Volume as the name of the product, which is a bundle of workshops and implies that there will be future volumes. This label was OK, definitely caused some folks to question what it meant, and the goal of implying that this wasn't going to get a bunch of fresh new stuff added to it over time was clear based on the questions about it.

We'd wanted to hit early December 2022 for the pre-release launch, but waited until after Black Friday to stand out from that noise which was risky because there were a lot of great developer education projects being sold for a great price during BFCM.


#The Soft Launch

At this point the email list was sitting at about 18k and growing every day. My "email list size for successful launch" is about 10k, so we were in a good spot.

We'd also had survey's running on the site asking folks about their skill level with TypeScript and identified that the Advanced Beginner to Intermediate range was the sweet spot for use. Experts and those that were already proper TypeScript Wizards don't really need the help, and we'd prefer if beginners explored the free material.

This meant that we had a small set of about 1000 learners to let announce the initial bundle to. We turned on commerce, sent the email 34 people bought it immediately.

What a feeling!

Doing this limited announcement let us work out some edge cases and tune the commerce funnel and the following morning we dropped the rest of the list into the automation for the launch sequence.


#The Email Campaign

Matt was doing his part, tweeting, letting people know in his discord, making amazing YouTube shorts that people love, dropping ๐Ÿ”ฅ tips in short video format on Twitter and Tik Tok... Basically being his own DevRel for his own product fully and completely. In fact, Matt was so all-in that he quit his very good job to work on Total TypeScript full-time.

What a leap of faith and trust.

The email campaign was just-in-time. I set up an automation in ConvertKit that had an "event termination" so when I added folks to it they met the end and hung there in the automation.

This let me monitor and respond on a day to day basis with what emails we would send.

Email 1: Announce and Link

The first email was a general announcement filled with links for context and ending with a CTA to purchase the Core Volume.

We use two "senders" in convertkit, one with Matt's name and the other is Total TypeScript. This separation helps keep Matt set apart from The Brand and heavy marketing. They both point to the same inbox that we manage in Front.

For the entire launch I sat on the support inbox, watching questions, bugs, and other replies as they came in to both help the learners and answer the questions but also to drive the next email.

This one was sent from Matt.

There were 165 signups.

Email 2: Explain the offer

This email was lighter on links and more of a narrative about the project explaining wtf a "core volume" is and discussing the overall offer in terms of what you get now, and what you'll get in the future.

This one was also sent by Matt, and we had about 120 sales that day. It was a Friday and we didn't send anything over the weekend (still managed 60 sales!)

Email 3: The FAQ

There were a lot of questions so this email was meant to address some of them and continue to clarify what the product was. The Core Volume thing isn't obvious because it's the first one so people are confused about what other volumes might look like in the future.

We aren't making any promises outside of the three workshops we list as being "included"!

This was the first Total TypeScript email and we saw another 120 sales. Not bad.

Email 4: Teams

This was another from the Total TypeScript email that let people know how we are approaching team seats for the product. We saw a handful of teams buy in bulk, and I know it's gonna be huge for teams when we drop the full release.

85 sales.

Email 5: What's Holding You Back?

Holy shit.

As I write this 5 days later the replies are rolling in. I hand processed around 500 replies to this email, directly replying to the most interesting and taking extensive notes about the objections people were having to purchasing.

It was a long, long, long day, but I knew exactly what to send the next day.

Email 6: Total TypeScript is F'n Expensive

The price was the biggest objection so I laid into it directly.

Full blast.

Making the case for the price.

We talked about the workshops not being finished.

We let them know exactly what they'd be buying.

We showed them a full table of contents.

We admitted that we were emailing a lot. ๐Ÿ˜…

We gave them a CTA at every point.

203 new customers, damn, expectations met and exceeded.


#The Last Day

People procrastinate and the last day of a sale is almost always the strongest. We like to send multiple emails.

The first email of the day with a short bullet list describing what we are selling followed by a video of Matt giving a tour and personally explaining the Core Volume.

I added a cheeky countdown timer too, which is effective for folks that like to put off decisions.

The sales were flooding in.

6 hours later I followed up with a very terse "last chance" matter-o-fact email and CTA.

Sales picked up again.

We closed the day with 376 new learners putting the total at 1281 learners and $415,000 gross revenue, just shy of $400k net after fees and a handful of immediate refunds (which we are very happy to give.


#"Just Another Tuesday"

"Just another Tuesday" is a saying from my friend nickd. How does it feel to have a successful launch and make a modest pile of money?


For sure, but what it means is that the work is real and we can take on the next iteration with less pressure. Matt is funded, the free resources we want to create are funded, and we are extremely excited to work on the full release of the Total TypeScript Core Volume.

We closed the sales window and will work with our pre-release learners to polish and refine the Core Volume.

We will layer additional value on top of the Core Volume, and will probably raise the price for the final release because it's worth it and we can add enough goodies and bonuses for it to make sense.

We coiled a spring, sprung it, and now we will recoil it again for an even bigger launch.

That's exciting! ๐ŸŒ€

Lets work together on your strategy to design, produce, and sell your course online.

You're an expert with an idea for a course you'd like to sell, but don't know where to start.

You've got a full internet of options for designing and selling your course.

Narrow down your options and get on the right path to successfully selling your course.

Get direct expert feedback on your course idea by entering your email below.

Subscribe Form image

There's no obligation. This isn't a sales pitch. We respect your privacy. Unsubscribe at any time.