How a Rails Programming Book Generated Thousands in Revenue

Hello! What's your background, and what are you working on?

Hi! I'm Elvio Vicosa, the author of Phoenix for Rails Developers, a book written for experienced Rails developers who want to use their existing knowledge to learn Phoenix.

I launched the book a couple weeks ago (on December 13, 2017), and so far it's made $6,159.00 in sales.

Phoenix Book

Why should Rails developers learn Phoenix?

Rails is a great tool, but things are changing rapidly. Web applications are demanding concurrent and distributed features, and Rails is clearly not a good fit for that.

Phoenix is a framework written in Elixir, a language that has built-in support for concurrency and distribution. Due to its similarities with Rails, Phoenix is a natural choice for developers who want a complete web framework, without compromising speed and maintainability.

What motivated you to write Phoenix for Rails Developers?

I've been working with Rails for almost a decade, throughout which time I've had the chance to build a variety of projects. Two years ago, when evaluating technologies to replace an existing Rails project, I stumbled upon Phoenix. I got really interested in the framework, since it was so similar to Rails.

The first time I started working on a Phoenix project, I spent a considerable amount of time trying to understand how to do the same things I was used to doing in Rails.

Phoenix for Rails Developers is the book I wish I'd read before working with Phoenix for the first time, and it will help Rails developers quickly get productive with Phoenix.

What went into writing the book?

In total, I spent around six months writing the book — and the first step was developing the web application that the book uses as an example. I spent a couple of weeks building and simplifying it until I believed it was simple enough to serve as an introduction to Phoenix, while still being a complete and full-featured web application.

The most time-consuming part was writing the book itself. Although I've been publishing blog posts for a few years, writing a book was a completely different experience.

My writing schedule was simple: two hours a day from Monday to Friday. Since I have a full-time job, I usually wrote the book in the mornings (6am to 8am), which proved to be quite nice due to the silence and lack of distractions.

One thing that helped me to overcome the loneliness of working on the book was to publicly share the process of writing.


I wrote the entire book in Markdown. I used Jekyll to generate a single HTML file with all the book's pages, and then used that HTML file to create PDF and MOBI versions for publication. I used headless Chrome to create the PDF format and kindlegen to create the MOBI version. I then created an EPUB version from the MOBI file using calibre.

How have you attracted users and grown Phoenix for Rails Developers?

Before publishing the book, I put up a landing page explaining the book's idea along with the readers who would benefit from it. In the period of three months, that landing page generated around 500 email list subscribers for the book.

When I published Phoenix for Rails Developers, I emailed an announcement to subscribers and offered an exclusive 25% discount code. This approach was quite effective — the first sale came in within 10 minutes.

Phoenix Book

After the launch, my focus has been mostly on partnerships. I am quite happy that Plataformatec, the company that created Elixir, has helped me to promote the book.

Here are a few more ideas I am considering to promote the book:

  • Create content like this post on why you should use Phoenix instead of Rails for your next project, which was on the front page of Hacker News and attracted quite an audience
  • Offer an affiliate program
  • Create a free online course covering similar topics
  • Participate in meetups and conferences
  • Make better use of social media

Out of all the things I've done to promote the book so far, I am quite sure the most important one has been the email list. If I could go back in time, I'd for sure invest more time in building it.

What are your goals for the future?

Writing a book was a great experience and I really enjoyed it. In 2018, my plan is to learn more about marketing, copywriting, and to promote the book.

Phoenix is a relatively new technology, which will make Phoenix for Rails Developers a relevant book for quite some time.

Besides book promotion, I am already planning the development of my next side project: a SaaS application I'll be developing with Phoenix.

What are the biggest challenges you've faced and obstacles you've overcome?

I think the biggest challenge has been to keep myself motivated throughout the process. Writing a book is hard — way harder than I thought. It's a lonely process that sometimes made me consider giving up.

One thing that helped me to overcome this loneliness was to publicly share the process of writing the book. Every day I could see new subscribers joining the list, and that interest kept me motivated.

Phoenix Pricing

As the launch date approached, so did my feelings of impostor syndrome. Questions like, "Will anyone pay for the book?" and, "What if people start complaining about it on the Internet?" were quite often a part of my thoughts. Those feelings didn't begin to dissipate until I started getting great feedback from actual readers who'd bought the book.

If you had to start over, what would you do differently?

I would do a few things differently:

  • I would invest more time in building the email list for the book
  • I wouldn't worry too much about which technologies or tools I'd use to produce the book. Instead, I would focus on the content itself.

Have you found anything particularly helpful or advantageous?

One of the most important resources for me was the book "Authority" by Nathan Barry (who's been interviewed by Indie Hackers about ConvertKit). I used Nathan's process to write, promote, and sell Phoenix for Rails Developers.

My writing schedule was simple: two hours a day from Monday to Friday. Since I have a full-time job, I usually wrote the book in the mornings (6am to 8am).


Being able to use a tested process was quite a relief, since I didn't have to spend time testing different approaches. This saved me from making lots of mistakes.

What's your advice for indie hackers who are considering to write a book?

As a software developer, it's easy to get distracted by all the tools and technologies available to write a book. Avoid that all cost and just focus on writing the content.

Where can we go to learn more?

You can find more information on my website or Twitter page.

If you want to know more about the book or the process I used to write it, leave a question in the comments section!

— Elvio Vicosa , Creator of Phoenix for Rails Developers

Want to build your own business like Phoenix for Rails Developers?

You should join the Indie Hackers community! 🤗

We're a few thousand founders helping each other build profitable businesses and side projects. Come share what you're working on and get feedback from your peers.

Not ready to get started on your product yet? No problem. The community is a great place to meet people, learn, and get your feet wet. Feel free to just browse!

— Courtland Allen , Indie Hackers founder

Loading comments...