How I wrote and published The Road to React Native book
You may ask yourself, what are the different steps to create and publish a book?
In this article, I will show you the different tools I used, to write my book and grow my audience to get my first 30 sales.
Feel free to join our official launch on Zoom
Requirements (you will need to have an account on different tools)
- Ulysses App
- Figma
- Gumroad
- Zapier
- Slack
- Airtable
Writing
I think I tried all the writing applications available. Ulysses app is just the best one.
I am writing this article on Ulysses, when it’s done I can just publish it on Medium. If I change my mind, I can export the content to .markdown
, .pdf
, or even .epub
. This gives me the opportunity to be "platform agnostic" and quickly iterate on the content with a single source of truth.
From a pure content perspective, my React Native Book is about my experience as a coach during workshops and as a freelance engineer.
I started out naïve in 2016 and made all the little mistakes you could make.
It’s not a book about pure coding examples. O’reilly Books are already doing a really good job if you want to learn an entire entire programming language. My content is around the ecosystem, my experience as a coach and how I connected all the small dots to create and release mobile applications.
That’s my targeted niche, writing a pure technology book doesn’t make sense because all the API’s are changing every day in the JavaScript ecosystem.
My approach here is to have evergreen content. It’s a win-win situation because: I can share the book after/before my workshops, I can sell it as a stand-alone content, or eventually, it could give me new leads as a React Native freelancer.
Ulysse is a paid app and I am using setapp andhave access to tons of utilities like this to get faster on my daily job.
The writing experience is nice and clean. I used only one file and I was focus on one thing: write as fast as possible and spend more time on client acquisition, and get back on content after.
I spent almost 10 minutes writing down this summary:
- JavaScript syntax
- React syntax
- JavaScript Language
- Data Structures
- General APIs
- Other Features
- TypeScript
- Front-end Frameworks
- Data Layer
- Back-end Frameworks
- Testing
- Build tools
- Other tools
- Resources
When I was frustrated with the quality of the content — I knew I could have spent more time on the writing phase — I started the next step: design and client acquisition.
There is no point to continue working on the content if nobody is interested.
We can write entire books on each topic, but that’s not the point. My mission is to summarize everything in a quick to read and comprehensive book.
Design
You are going to need a bunch of assets for marketing purposes, I decided to jump on Figma — a collaborative web-based vector editor and UX design tool.
I love Figma because all the Images, icons and theme for my website are created there. I already have all the font styles and colors to keep some consistency.
F
: create a new frameT
: add a text
I started creating the cover page of my book about React Native with this title:
The Roadmap to Become a React Native Developer
After my first design, I immediately shared it on slack and one of my friends M'Hamed Larbi said
You should rename it, Road to React — like Naruto
Well that makes sense, keep your name simple is good advice but I already started my design and content around Lord Of The Ring.
Let’s ship it with: Road to React Native.
If you want to have a reference for the next design resources used you can have a look at the Figma file.
Distribution
In every kind of business, distribution is one of the most important things. It can become complex quickly with payments, refunds, analytics…
To solve this problem, it’s really simple, here is what you need to do:
- Create a new product on Gumroad.
- Export the content from Ulysses as a
.pdf
and.epub
and import the files. - Add a nice cover from Figma
- Define your pricing
With my product distribution hosted on Gumroad, I have a piece of mind in terms of sales. I can focus on customer acquisition and connect some integrations to automate my job with Zapier.
Landing page
You can use Gumroad to have a landing page with an URL like this
https://gum.co/road-react-native
or create a custom one like me https://davidl.fr/road-to-react-native
I decided to create a custom landing page for my book because it’s my job as a developer and it’s more flexible. I added a terrible video, made with Loom just in 5 minutes, because I wanted to quickly ship the page.
Definition of success
One my my top 3 question I am asking during client interview is “What is your definition of success”. Answers can vary a lot, depending on the project and the team. With my book, my definition of success is making people happy and make 100 sales in less than 6 months.
That’s why I need KPI.
Key Performance Indicators are important. You need to measure if your actions have an impact. To gain momentum and keep a simple overview of my sales in one single place, I decided to centralize everything on Slack.
You can add Gumroad notification to slack with Zapier.
With this system in place, I know if I have an impact on my sales when I share the link of my landing page somewhere.
Growth
From my perspective, this part is the more complex one because you never know where to start.
I silently launched the book in this order, on differents platforms
- Friends on Whatsapp — basically chasing 1 by 1 some olds coworkers
- Friends on Slack — “spamming” all channels but without using @channel
- Facebook group about React Native
- Indiehackers — where I blog about the milestones
- Reddit— Xavier advised me this one and the results were great!
Feedback
In the IT industry, iterations are part of the process to deliver quality software. That’s why we need a system to get constants feedback in order to improve our product.
When I am writing this article this step is manual. I can create an automated workflow on Gumroad or a nurturing on mailchimp if I have too many sales.
If you download the book, I am going to send you this message 48h later.
Hey!
Thank you for pre-ordering a copy of The Road to React Native.
The response has been good and has made me even more excited to add more content. Until the book is launched officially, I’m going to update it with your feedback.
In order to improve the quality, can you take 3:14 min (on average) to complete this form?https://airtable.com/shryhiyeYRG2Xh5Ey
Or simply answer this email but please be brutally honest, I love having feedback — even bad ones — because it allows me to create better content for everyone.
That’s my second KPI. Asking to fill a simple form with a NPS score.
I use Airtable, because all my data about my freelance customers are there. Think of it as an excel spreadsheet on steroids. A really useful feature is how you can create a simple form to collect pieces of information.
- Create a new empty table with these fields
- Email: type email
- Rating: type rating
- Why?: type longtext
- Make it better: type longtext
- Misc: type longtext
2. Create a new form view and 💥 you have a nice form
I added a Slack notification for each new record on the Airtable database.
Thank you for this feedback, I know since day one I should write an introduction but this customer confirmed my assumption.
Next steps
From an NPS perspective, my notes are between 2 and 8.
That’s a good news, some people like the content and found it useful and some people don’t. That means I have 2 solutions: improve the content OR target another niche of people.
My next steps are updating the content according to feedbacks I had and continue my work on the growth:
- Write an email to my mailing list
- Promote my book with SpreadTheWorld — a database of 400+ hand-curated places.
- Prepare a launch on Product Hunt after my 5 paid sales.
If you liked this article, check out:
If you want to learn more and improve your skills, you can follow me on Twitter as I continue to document my journey.