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?

David Leuliette
7 min readJan 12, 2021

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)


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.

For examples, I choose "The Lord of The Ring" ones
For examples, I choose “The Lord of The Ring” ones

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.


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.

Creating your first image on Figma
  • F: create a new frame
  • T: 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.

On our way to Mordor
On our way to Mordor

If you want to have a reference for the next design resources used you can have a look at the Figma file.


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:

  1. Create a new product on Gumroad.
  2. Export the content from Ulysses as a .pdf and .epub and import the files.
  3. Add a nice cover from Figma
  4. Define your pricing
Community, Bronze, Iron and Gold Tiers
Community, Bronze, Iron and Gold Tiers

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

or create a custom one like me

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.

Connect Zapier and Gumroad
Connect Zapier and Gumroad
Get real time updates on your sales
Get real time updates on your sales

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.


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
  • RedditXavier advised me this one and the results were great!
I saw your post on Reddit and I contacted you on LinkedIn 🚀


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.

I track my new sales AND message sent

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.


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?

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.

  1. 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.

Add slack notifications
Add slack notifications
Instant feedback from Airtable to Slack

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:

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.



David Leuliette

Freelance on a mission to automate my life. Currently launching a book about the React Native ecosystem →