This blog post is for those of you who have asked me what it was like to launch EpicWeb.dev. Epic Web is a platform for learning everything you need to know to build full stack web applications the way I do based on my decade of experience building web apps of all kinds, sizes, and scales. It's terrific, you should check it out.
I've wanted to do this for a long time. You may recall from the end of 2010s Decade in Review, someone once tweeted at me:
To which I replied:
So by the time 2023 started, I had my eyes set on launching Epic Web. My wife and I had decided to try for another child and I was committed to launch Epic Web before the baby came.
A big part of getting Epic Web launched was live streaming the process of building the ultimate app we'd be building as part of the workshops. That was Rocket Rental. You'll find an outrageous number of hours of live stream footage on my YouTube channel of the process of building that application as well as the workshop app which is the application used to facilitate the learning experience for Epic Web.
In between snowboarding trips (the 2022/2023 winter season was a record breaking snow season in Utah), I ran workshops based on Rocket Rental. The Workshop App made for a great learning experience even though the size of Rocket Rental was pretty big. This is thanks to the playground, the diffs, and "open file in my editor" features. However, I did find that the size of the app was a bit overwhelming for learners despite this.
Additionally, I realized that the "target market" of Epic Web was far too broad. This resulted in a couple workshops getting cancelled due to lack of sales (due to marketing problems).
I did manage to publish a free tutorial about deploying multi-region applications and distributed SQLite databases all over the world. With that in addition to some articles, it felt great to get some content on the EpicWeb.dev domain and demonstrate I was a serious operation.
Around this same time, I was invited by the Remix team to run Remix Conf 2023 (the best compliment someone can give you is to ask you to do something again!!). I told them that I wanted to speak this year and they said that was fine so I was trying to decide what my talk would be about.
Around all of this I started feeling kind of lost. I honestly felt lost about what to do with Epic Web. Less than a week before Remix Conf I tweeted this:
Ultimately, Matt Pocock replied with a brilliant summary of my problem:
And then, in a stroke of brilliance, Matt said:
That was the moment I realized that Epic Web wasn't me teaching you everything I know about full stack web development. It's me giving you a proven path to building excellent full stack applications.
The opinions are almost as valuable as the instruction.
So I stripped down Rocket Rental to a much simpler note taking application and introduced that to the world as The Epic Stack in my Remix Conf Keynote the following week. (Yes, it was stressful to do this while also running a conference, but Zero Slope Events makes running a conference much less difficult 😅).
It was a smashing success. Now there are a bunch of people building applications based on or referencing the Epic Stack and getting paid to do it. Super gratifying.
And it accomplished the original goal of helping me hone my message. Epic Web is where I teach you how to build full stack applications with the Epic Stack. So all the material morphed into us building the Epic Stack together. I came up with great strategies to keep things going (to avoid unnecessary repetition) so by the end of the series of workshops, you've built all the most important pieces of the Epic Stack which you can then use to build whatever you'd like.
By this time, my wife and I had a due date for our 5th child. This gave me a deadline for the launch of Epic Web. I had a lot of workshops to prepare. And I needed to deliver those workshops to real people before I got them recorded and made available as self-paced workshops.
So I put together a schedule. I needed to get all the workshops delivered to real people by mid-August so I could spend the second half of August and first half of September recording the videos so they could be edited, transcribed, and published by October. At the time I was planning this, it was mid-May. I figured I had plenty of time.
I did not.
I already had a two day workshop on "Full Stack Foundations" and one day on "Testing Web Apps" based on Rocket Rental. I was planning on adding workshops on Web Forms, Data Modeling, and Web Authentication. I figured updating the existing workshops and creating the new workshops wouldn't be an enormous task because I knew the end state was just the Epic Stack so there weren't really unknowns.
That all was true. There really weren't many unknowns, most of the Epic Stack remained the same through the workshop development. And I'm quite fast at putting workshops together with the experience I've had over the years. And the workshop app made me even more productive at putting workshops together.
But still. I vastly underestimated the amount of work this would take...
So I get to mid-July and I'm still not even finished getting the foundations workshop completed. But I didn't really have much choice (and I still naively felt like I should be able to manage this without trouble 🙄). So I open up tickets for "The Full Stack Workshop Series (Vol 1) 🚀." It involved 8 days worth of workshops. Two workshops a week for 4 weeks straight.
We sold out 30 seats very quickly. So I decided to open it up to 30 more and those sold out before the early bird time was finished.
This was extremely encouraging! So I got back to work, but started to feel a little nervous about the time. Now that I had people's money, I knew I really had to deliver the best workshop experience possible.
I managed to finish the first two days worth of workshops and the brand new forms workshop the week before the series was scheduled. So I was able to start working on the data workshop.
So, imagine this... I have a brand new workshop not yet created that I'm scheduled to deliver in a week and two days. And on top of that, three of those days will be spent delivering other workshops. Oh, and I have more workshops to create and deliver after that.
It was at this point I realized how much trouble I was in and started pulling 16-18 hour days, 6 days a week, for 5 weeks. This was the most stressful work of my life. This is a good visual of how I felt during this time:
Despite this stress, I did an extremely good job getting good sleep. And my wife was a superhero and took care of everything else. I'm so grateful for her. She put the kids to bed herself, got them ready for school, and did all the housework and cooking. And she was in her second trimester of pregnancy!! She's amazing.
If you're curious, here's are links to the work I did in each of the workshop repos from the time I started them to the time I delivered them:
- Full Stack Foundations (84 commits on 19 days)
- Web Forms (38 commits on 12 days)
- Data Modeling (37 commits on 8 days)
- Web Auth (66 commits on 9 days)
- Full Stack Testing (71 commits on 8 days)
Oh, and during that time I was also still working on the workshop app (105 commits on 30 days).
I only feel comfortable sharing this now because the responses from the workshop attendees was phenomenal. I think some of them suspected I was just barely keeping ahead of our progress, but they were all very happy with the experience. Several of them appear on my testimonials page.
Unfortunately, my rush to get things launched before the baby arrived meant that I still had a lot of work to do. As it usually happens, I realized that I had much more than 8 days worth of workshop material. I split several of the workshops and now we're at more like 16 days worth of material in these workshops.
So it's August 11th, I'm finished with delivering the workshops. I kept my commitment to the attendees who paid. But, I had 16 days worth of workshop material (some of which wasn't completely finished) which needed to be recorded with enough time for the team to get the videos edited, transcribed, and published by my birthday, October 18th. That's September 14th.
Oh, and I had React Rally to speak at, and 25 bonus interviews to record.
So that's 27 days (excluding Sundays and React Rally) to finish the workshops, get things recorded, and experts interviewed. 😱 Oh yeah, and my kids make enough noise that I can only record when they're in school or asleep 🥴.
Luckily, my preparation and experience recording instructional videos paid off. I managed to have some extremely productive days:
Not every day was super productive because I kept finding little things I wanted to do differently here and there:
Oh, and of course my wife was a total saint through all of this as well:
And then I finally finished:
Of course, 4 days later...
Thanks a lot Chrome team 😂 🤷♂️ 🙃
The team was hard at work getting the videos and the site ready for publication. I also needed to finish up writing some of the instructions for some of the workshops and I had some improvements to make to the workshop app as well.
It ended up being a LOT of words. As of today, it's 101,407 words worth of instructions. For context, Harry Potter book 1 is 76,944 words. And this only counts the words in the markdown files for the exercises. It doesn't include the words that are inline instructions within the exercise files people work through (which is probably another 30k words).
And I wrote all of that in about 3 months. I'm pretty freaking proud of that.
I also wrapped up the expert interviews and with the team prepared the emails that would go out as part of the launch.
This went extremely well! We had a ton of people jump on within the first 24 hours. I spent a lot of time on 𝕏, discord, and in my email inbox answering people's questions and helping people see the value Epic Web could offer them. Launch days are always fun.
The sale period went on for a few weeks and now the course is full price (with support for purchasing power parity of course). In the last couple weeks, we added support for à la carte purchases of the workshops as well. People are still joining us every day, though the launch period will always be the biggest spike.
- EpicReact.dev 2.0
- CSS/Tailwind workshop series
- Collaborative Web Apps
- Production Error Reporting
- Full Stack Caching
- Production Performance Monitoring
- Web Performance Optimization
There's so much more. So I was looking at this list of things I wanted to do and I decided that I could either make people wait for me to produce all this stuff, or I could get some other folks to help me.
The trouble is I really like having all the control. I like the consistency that a single instructor and teaching method gives learners. But I thought if I could find some excellent people who would be willing to let me guide them in the way I want things to be taught and the recommendations I want to make, then I could get a lot more done.
So that's what I did! So I reached out to Simon Vrachliotis and he agreed to contribute to the Epic Web world! He's already started producing free material for Epic Web which you can find on his instructor page.
I have other folks I'm working with as well, but we haven't announced them yet. Stay tuned for that!
Don't worry, we're going to keep Epic Web consistent and excellent. I'm convinced that a big part of what I offer as an instructor is good opinions and a curated learning path. Other instructional sites are loaded with lots of good, but conflicting recommendations. That's not what you'll find on Epic Web.
While I appreciate that not every tool is the right one for every job, you'll never be able to cover every edge case and there's a lot of value in having a consistent message and recommendation. And the nuance can be addressed as needed. But Epic Web will give you a proven path to building excellent full stack applications. And we'll do that faster by having more excellent instructors.
Next year is going to be an awesome year for your education on Epic Web. Stay tuned!
Oh yeah, and...
The launch of Epic Web was incredibly difficult. But I'm so glad that I managed it. I'm excited to build on top of this foundation and continue to help people like you in your full stack web development journey. Thanks for coming along!