Today we are updating our book, The Ultimate Guide to APIs & Single-Page Applications to use the latest versions of Vue 3/Nuxt 3, Laravel 9, & Capacitor 3. While we are super excited to bring the book up-to-date with the most cutting edge technology, we also took the time and see where we could improve and change in order to do this next release even better. For those of you who are interested in creating a content product, hopefully these tips, strategies, and mistakes can help set expectations and help you successfully launch your own book or course.
We launched the first iteration of our book on August 17th, 2020. Since then we’ve generated a little over $17.8k in sales:

Honestly, it’s very exciting to see people buy something you created and we are beyond grateful for everyone that purchased our book. To be transparent, this was our first time selling anything beyond our app development services online. It was exciting, but we definitely had a lot to learn.
The goal of our book is to provide a real life example + tutorials on how to build an app using an API-first approach. Then adding a Single-Page Application to display the content and control the user experience. By doing this approach, you could easily deploy your Single-Page application to the web or to an iOS orAndroid app using the same code base, thus saving a ton of time and providing a seamless user-experience.
We also wanted to really go beyond the “Hello World” examples and show the process with an app running in production, so we made ROAST. ROAST is a simple app that helps coffee lovers, like myself, find fresh roasted, 3rd wave coffee near them, save the shop/roaster to visit later, and find certain brew methods that they preferred. All of these features were meant to easily abstract into your own application.
That’s a lofty goal. Here’s what we need to improve.
We are a development team. We are proud of the apps we make and the tutorials we write. However, we are not marketing experts and did not plan on the importance of marketing.For all of you out there interacting with potential customers from day one, kudos to you. This is our biggest source of improvement. Here are some areas of marketing where we failed.
We launched in August 2020, but we first introduced the book concept 3 years before that. Being a two person team, our best source of marketing is our blog. I started this course on Server Side up in August 2017 with the intent to soft market the concept and collect emails. It worked. We had decent engagement, it was an interesting subject, but we didn’t take advantage of the momentum. It was 3 years before we upgraded our old code, sat down, went through the process and actually released a book.
That’s a huge gap to keep potential customers engaged. If I signed up for a product and waited 3 years, so much would have changed. Honestly, I would have probably figured out how to replace the product, build my own, or completely gone down a different path.
👉 Lesson learned: Find a balance of introducing your content and delivering the results. Customers won’t wait forever.
🛠 How we will improve: In this new revision, we are planning weekly emails, tweets to share information from the Nuxt 2 - Nuxt 3 update, and a final completion scheduled around June 2022 when Nuxt 3 is stable. Defined, communicated, and delivered.
By far our biggest marketing channel is Server Side Up, our tech blog. All of the people who visit Server Side Up come from searching for a topic that we have written about. More people on Server Side Up = More people who see our book.
This is one area where I say we did an okay job. It helps that we naturally like helping others so tutorial writing is enjoyable. However, we have a lot more room for improvement. This time around, we are going to be sharing publicly a lot more of the tutorials that can help others regardless of if they buy the book or not. We want the book to be more of a course, a cohesive approach. If the tutorial helps the reader, then the book will show the grander scheme of things and help even more.
👉 Lesson learned: Give away helpful content. You will meet connections, help people, and in turn people will be more likely to buy your product. If not, you still helped pay it forward and solved someone’s problem.
🛠 How we will improve: Throughout this next release, we will be sharing so many more tutorials on Laravel, Vue 3, Nuxt 3 and Capacitor 3. The selling point for the book is to see everything tied together in a cohesive code base.
This shouldn’t even be a thought. You should respond right away to anyone interested in your book, has questions regarding the content, etc. We received blog comments asking when the book will be ready, how to do X,Y, or Z in scope of the book and sometimes those would go un-responded to for weeks or months. Yes, we build a lot of apps for clients, solve bugs, write tutorials, but leaving a potential customer hanging is not good for anyone. The customer doesn’t feel heard and you feel awful for responding super late. To be transparent, I still have some comments to get back to, but that’s changing.
👉 Lesson learned: If you have a blog, community, marketing content, respond in a reasonable amount of time.
🛠 How we will improve: Writing a book is more work than expected (see next tip), so we are baking in the time to respond at a reasonable time.
Like, a ton of work. Especially if you are a developer first, writer second. You will have to not only write your book, but write the marketing materials as well (see above). When we were scoping out this book, I really wanted to make an app, share the code, and then write how each piece worked. Our scope was massive. Luckily we worked together and pared it down to what we thought was a reasonable amount. Like I mentioned, I wanted an app that was deployed to production and had certain features that the reader could abstract into their own app. Even after paring it down, let’s just say the app came together in the timeframe I thought, the writing did not. Know what you are getting in to (but also don’t be afraid of making mistakes).
I’m sure you could find a million posts on Indie Hackers about the founder that kept releasing features but spent no time marketing. Now apply that concept to your book. Except instead of just adding the shiny new feature, you have to write a chapter and really scrutinize the code because everyone will be looking to your code to see how it’s done. Let’s say that adding an extra feature in an app is 3 hours, adding that same feature in a book context is 15 hours (remember this is an estimate meant to prove a point 😅). Those extra 12 hours are writing about how that feature works, the decision behind it, and how to abstract it into the user’s own app.
👉 Lesson Learned: It takes way longer to write about the feature than to write the code to implement it.
🛠 Changes we made: We kept the same scope of features in this new version of the book. The upgraded book will be geared towards the latest and greatest technology with advice on the upgrades.
Bug fixes are the most procrastinated part of app development. If you procrastinate on bug fixes with a SASS, I guarantee you will with your book or course. Except it’s twice as painful. First, if you have a bug in your code, people are looking to you for your code to be accurate. Second, when you need to fix the bug, you also need to adjust your actual writing about the feature. This just adds more time to the mix.
When we first wrote our own book, we did a million quality assurance tests on our app and on our code. Guess what? Bugs were still found. They always will be. You not only need to account for fixing them, but also the extended time on writing about the fix if needed.
👉 Lesson learned: Account for bugs, they will happen, and fix them swiftly.
🛠 How we are updating our process: We set up our own realistic standards that bugs will come up, especially on a massive upgrade from Nuxt 2 → Nuxt 3, and will account on being more proactive in fixing the bugs.
Things happen, events occur, especially in these last couple years where you can’t get back immediately. We’ve had them happen, the world has experienced them, but communication is key. If feedback comes in for your book, and you don’t have time to get to it right away, address that you will get to it later. We do our best to at least respond within 24 hours to issues that arise and I think that has helped a ton. This is a practice we will strive to continue through this next release cycle. Writing is a lot of work, so at least communicate that. This also goes if you made a mistake and you find it first. Correct it, communicate it, and move on.
👉 Lesson learned: When situations arise where you will have a delayed response, communicate that to your customers.
🛠 Continuing Practice: We will continue trying to respond to issues or questions within 24 hours. Massive issues or questions that come up with development or writing, and/or life events will be communicated to set expectations.
As you can see, there’s a lot to improve on. And we will be improving. However, we are extremely grateful for the people who purchased our book, contribute on our community and be a part of our journey on Server Side Up. Any person who purchased the book already, will get the updated copy for free. Anyone who purchases the book between now and the final release of our updated version will receive the updated revision for free. If you’ve purchased the complete package, you can watch our code branch and develop with us as we update ROAST to Laravel 9, Vue 3/Nuxt 3, &Capacitor 3.
What we hope to accomplish? That gratitude goes a long ways. We love helping, we love technology, and we love connecting with others in the industry. The more the merrier!
We are super excited to announce the update to book, The Ultimate Guide to Building APIs and Single-Page Applications! I’m also super thankful to all of the open-source developers who make the platforms used in the book. We use the tools in our client apps, SASS products and open-source projects every day.
More than anything, I’d absolutely love to hear your feedback. I’m passionate about learning and willing to hear any feedback whether it’s on the book or marketing in general. Like I mentioned, I’m a developer, not a marketer so your feedback will definitely help me out a ton and any other Indie Hackers in the same position. If you have any other tips, ideas, questions or thoughts, let me hear them!